1.为什么需要面向对 象 从80年代后期开始,进行了面向对象分析 (OOA)、面向对象设计(OOD)和面向对象程序设 计(OOP)等新的系统开发方式模型的研究,在有些 文献中统称为OO范型 软件包括以下几方面的能力 Y(1)计算的能力; (2)推理的能力; (3)人机交互的能力 ˇ能同时支持这3种能力开发的技术是面向对象 面向对象的需求分析方法通过提供对象、对象间消息 传递等语言机制,从而削弱了语义断层
Ú 从 8 0 年 代 后 期 开 始 , 进 行 了 面 向 对 象 分 析 (OOA)、面向对象设计(OOD)和面向对象程序设 计(OOP)等新的系统开发方式模型的研究,在有些 文献中统称为OO范型。 Ú 软件包括以下几方面的能力: Ú(1)计算的能力; Ú(2)推理的能力; Ú(3)人机交互的能力。 Ú能同时支持这3种能力开发的技术是面向对象。 Ú面向对象的需求分析方法通过提供对象、对象间消息 传递等语言机制,从而削弱了语义断层。 1.为什么需要面向对 象
面向对象方法学核心概念 (1)对象 在面向对象的系统中,对象是基本的运行时的实体, 它包括数据属性,也包括作用于数据的操作(行为) 所以一个对象把属性和行为密封成一个整体 属性值规定了对象所有可能的状态。对象的操 作是指该对象可以展现的外部服务。例如,大型客 机可视为对象,它具有位置、速度、颜色、容量等 属性,对于该对象可施行起飞、降落、加速、维修 等操作,这些操作将或多或少地改变飞机的属性值 (状态)
面向对象方法学核心概念 属性值规定了对象所有可能的状态。对象的操 作是指该对象可以展现的外部服务。例如,大型客 机可视为对象,它具有位置、速度、颜色、容量等 属性,对于该对象可施行起飞、降落、加速、维修 等操作,这些操作将或多或少地改变飞机的属性值 (状态)。 (1)对象 在面向对象的系统中,对象是基本的运行时的实体, 它包括数据属性,也包括作用于数据的操作(行为)。 所以一个对象把属性和行为密封成一个整体
面向对象方法学核心概念 (2)类 (2)类。类是某些对象的共同特征(属性和操作)的表示, 对象是类的实例 例如,飞行器类包含位置、速度、颜色等属性, 以及起飞、降落、加速等操作。 是否建立了一个丰富的类库是衡量一个面向对象 程序设计语言成熟与否的重要标志
面向对象方法学核心概念 Ú(2)类。类是某些对象的共同特征(属性和操作)的表示, 对象是类的实例。 Ú例如,飞行器类包含位置、速度、颜色等属性, 以及起飞、降落、加速等操作。 是否建立了一个丰富的类库是衡量一个面向对象 程序设计语言成熟与否的重要标志。 (2)类
面向对象方法学核心概念 (3)继承 类之间的继承关系是现实世界中遗传关系的直接模拟, 它表示类之间的内在联系以及对属性和操作的共享,即 子类可以沿用父类(被继承类)的某些特征。当然,子 类也可以具有自己独立的属性和操作。 除遗传关系外,现实世界中 例如,飞行器、汽车和 还普遍存在着部分—整体关 轮船可归于交通工具类,系。例如,飞机可由发动机 飞行器类可以继承交通 机身、机械控制系统、电子 工具类某些属性和操作 控制系统等构成。聚集关系。 继承性是面向对象程序设计语言的最主要的特点,是其
面向对象方法学核心概念 继承性是面向对象程序设计语言的最主要的特点,是其 他语言(如面向过程语言)所没有的。 类之间的继承关系是现实世界中遗传关系的直接模拟, 它表示类之间的内在联系以及对属性和操作的共享,即 子类可以沿用父类(被继承类)的某些特征。当然,子 类也可以具有自己独立的属性和操作。 (3)继承 例如,飞行器、汽车和 轮船可归于交通工具类, 飞行器类可以继承交通 工具类某些属性和操作。 除遗传关系外,现实世界中 还普遍存在着部分—整体关 系。例如,飞机可由发动机、 机身、机械控制系统、电子 控制系统等构成。聚集关系
面向对象方法学核心概念 (4)消 息 消息传递是对象与其外部世界相互关联的唯一途径。对 象可以向其他对象发出消息以请求服务,也可以响应其 他对象传来的消息,完成自身固有的某些操作,从而服 务于其他对象 因为对象的操作主要用来响应外来消息并为其他对象 提供服务,所以它们也被称作“外来服务” 例如,直升飞机可以响应轮船的海难急救信号, 起飞,加速,飞赴出事地点并实施救助作业
面向对象方法学核心概念 消息传递是对象与其外部世界相互关联的唯一途径。对 象可以向其他对象发出消息以请求服务,也可以响应其 他对象传来的消息,完成自身固有的某些操作,从而服 务于其他对象。 因为对象的操作主要用来响应外来消息并为其他对象 提供服务,所以它们也被称作“外来服务” 。 (4)消息 例如,直升飞机可以响应轮船的海难急救信号, 起飞,加速,飞赴出事地点并实施救助作业