1.面向对象概述
- 格式:doc
- 大小:126.00 KB
- 文档页数:5
面向对象概述0.英语单词
1.课程介绍
2.面向过程编程和面向对象编程
1)面向对象是相对面向过程而言,两者都是编程思想。
2)面向过程强调的是功能行为,程序的实现是基于一个一个功能的实现;而面向对象强
调的是将功能封装进对象,程序的实现是基于对象的之间的消息传递。
3)面向对象是基于面向过程的,也就是说面向对象是在面向过程的基础上发展起来的。
4)面向过程程序设计中,程序的构成主体是一个一个的方法,而面向对象的程序设计中,
程序的构成主体是一个一个的类(生成对象的原型)
实例:
----------------------------------
3.面向对象思想的特点
是一种符合人类思考或做事的习惯的思想,可以将复杂的事情简单化;
将程序员从执行者转换成了指挥者,不是将一件事情拆分完成,而是找到具有所需功能的对象来用,如果对象不存在,那么就创建一个具有所需功能的对象。
实例:
---------------------------------------
4.面向对象开发、设计的特征
设计的过程:其实就是在管理和维护对象之间的关系
开发的过程:其实就是在不断的创建对象,使用对象,指挥对象做事情
特征:
抽象abstract
封装encapsulation
继承inheritance
多态polymorphism
-----------------------------------
5.如何发现对象(抽象)
我们认识事物的过程一般是这样的:这是什么?有什么样的特征?能够做什么?所以,从现实中抽象出类分为三步:
1)找出它的种类☞是什么?找(简单)名词
2)找出它的属性☞有什么特征?找(修饰性)名词、形容词
3)找出它的行为☞能够做什么?找动词
4)方法放的位置,那个类最清楚,就放在那个类中
5)只找关心的
实例1:美女
Gril
颜值:非常漂亮
实例2:帅哥钟打开玻璃门
人
姓:钟
性别:男
门
材料:玻璃
功能:打开
实例3:老张开车去东北,撞了!
人
姓:张
年龄:有点老
车
move(东北)
地点
名称:东北
6.类和对象
1)使用计算机语言就是不断的在描述现实生活中的事物,Java中描述事物通过类的形式体
现,类是具体事物的抽象,概念上的定义。
2)对象即是该类事物实实在在存在的个体。
3)可以这样理解类和对象的关系:类是对象的原型,对象是类的实例
7.使用类图描述类
1)Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年
一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
2)UML提供了5种类型,10种模型图
用例图:用例图
静态图:类图、对象图、包图
行为图:活动图、状态图
交互图:顺序图、合作图
实现图:配置图
3)使用UML利用分析和设计,便于沟通,是软件工程师交流的工具性语言
8.作业
1)我们需要设计一个电子宠物系统,其中领养宠物功能的详细需求如下:
根据控制台提示,输入领养宠物的昵称;
根据控制台提示,输入领养宠物的类型,有两种选择:狗狗和企鹅;
如果选择狗狗,要选择狗狗的品种,有两种选择:“聪明的拉布拉多犬”或“中华田园犬”如果选择类型,选择企鹅的性别:“Q仔”或“Q妹”。
所领养宠物的健康值默认值是100,表示非常健康。
所领养的宠物和主人的亲密度是0,表示和主人不熟。
在控制台打印宠物信息,包括昵称、健康值、亲密度、品种或性别,表示领养成功。
领养成功后主人可以和狗狗玩接飞盘的游戏,也可以让狗狗看家;如果领养的是企鹅,主人可以和企鹅一起游泳,也可以和企鹅玩过家家的游戏。
根据上面的描述,进行分析和设计,找出类,设计类;并画出类图!
控制台
标准输出打印System.out.println()
标注输入输入Scanner input = new Scanner(System.in);
-----------------------------------------------------------------------------------------
狗Dog
nickname , strain , health, love keepHouse(), catchFlyDisk(), print()
企鹅Penguin
nickname, sex, health, love swim(), play() , print()
主人Master
name playWith() feed()
宠物Pet
nickname, health,love print()
1.2 自己添加设计一个类(一种宠物,比如Pig、Tiger、Bird ........)
------------------------------------------------------------------------------------------------------------
2)预习第二章,将第1题用代码实现。