开门见山
面向对象的意思,就是我们研究的具体到每一个事物,而不是整个过程。
比如我们上学这个事件,这就是一个过程,你出门,骑上自行车,行驶在路上,然后到达学校,这是一个过程!
而这个过程中包含了很多对象,比如:你,自行车,马路,学校……那什么是对象呢?
愚公移山
对象:客观存在的对象实体和主观抽象的概念。
在我们软件开发的时候,对象分为三种:
1. 物理实体
2. 概念实体
3. 软件实体
对象三要素:
- 状态:对象的一些属性你的名字,出生日期
- 标识:识别对象地主要标志,比如你的身份证号
- 行为:反应一个对象对其他对象的一些响应,比如在上学的路上下雨了,你会很郁闷
类的概念:一组具有相同属性,行为,关系和语义的对象地描述。(比如山地车和公路车都属于自行车,山地车就是对象,自行车就是类)
泛化:描述类和具体对象之间个关系,具体描述建立在一般描述的基础之上,并对其进行了扩展。(泛化,顾名思义,就是广泛化,比之前的范围更大一些,例:山地车泛化后就是自行车)
类的三要素(与对象三要素对应):
- 名字
- 属性
- 方法
多态:一个对象对不同事务会做出的不同反应
接口:说明对象的功能需求它主要用于描述某个类应该具备什么样的功能,实现了某接口的类必须遵从接口描述的统一格式进行定义。一个类可以实现一个或者多个接口,实现了某接口的类必须重写接口中包含的所有方法。
组件:就是对象。对属性和方法地简单封装!
C++ Builder中叫组件,Delphi中叫部件,而在Visual BASIC中叫控件。
组件可以是以下之一:
- 源程序
- 运行时动态库
- 可执行程序
对象之间的关系:
- 关联
- 依赖
- 泛化
- 实现
面向对象的特点:
- 继承性
- 封装型
- 多态性