面向对象的基本概念
https://www.bilibili.com/video/BV1hg411V7Bm?p=84
1)面向对象的基本概念
面向对象=对象+分类+继承+通过消息的通信
对象
程序系统中基本运行的实体,包括数据和数据的操作。
一个对象把属性和行为封装成一个整体,实现生产者与使用者的分离。
一个对象通常可由对象名、属性和方法(操作)三部分组成。
类
定义了一组大体上相似的对象。
类是对象的抽象,对象是类的具体化,是类的实例。
特殊类是一般类的子类,一般类是特殊类的父类。
继承
父类和子类之间共享数据和方法的机制。
一个父类可以有多个子类,一个子类可以继承其父类(或祖先类)中的属性和方法。
单重继承:从一个父类A得到继承
多重继承:一个子类有两个或更多个父类
重置
是一种动态绑定机制,使得子类在继承父类的前提下,用适合自己要求的实现去置换父类中的相应实现。(覆盖)
消息
对象之间的通信构造。
消息传递
当一个消息发送给某个对象时,包含要求接收对象去执行的某些活动的信息。
接收到信息的对象经过解释,然后予以响应。
在收到消息时,对象要予以响应。
不同的对象收到同一消息可以产生完全不同的结果,这一现象称为多态。
不同对象对同一消息的不同的响应。
通用多态:参数多态和包含多态
特定多态:过载多态和强制多态
通用多态对工作的类型不加限制,允许对不同类型的值执行相同的代码;
特定多态只对有限数量的类型有效,而且对不同类型的值可能要执行不同的代码。
过载多态
同一个名(操作符、函数名)在不同的上下文中有不同的类型。
典型的例子是运算符重载和函数重载,属于静态多态。
2)面向对象的基本过程
面向对象分析(OOA)
- 认定对象(名词)
- 组织对象(抽象成类)
- 对象间的相互作用
- 基于对象的操作
完成对所解问题的分析,确定待开发软件系统要做什么,建立系统模型。
包括认定组织对象,描述对象间的相互作用,定义对象的操作和内部信息。
面向对象设计(OOD)
- 识别类及对象
- 定义属性
- 定义服务
- 识别关系
- 识别包
将OOA所创建的分析模型转化为设计模型,其目标是定义系统构造蓝图。
面向对象程序设计(OOP)
- 程序设计范型
- 选择一种OOPL
是采用程序设计语言,将设计模型转化为特定环境中的系统,即实现系统。
面向对象测试(OOT)
- 算法层
- 类层
- 模板层
- 系统层
对面向对象系统进行测试,查出系统错误。
主要包括算法层、类层、模板层、系统层。
考点1:类与对象
有些类之间存在一般和特殊关系,即一些类是某个类的特殊情况,某个类是一些类的一般情况。
因此,类()是其他各类的一般情况。
A、汽车
B、飞机
C、轮船
D、交通工具 √