(3)继承与封装的关系 在面向对象系统中,有了封装机制以后,对 象 只能通过消息传递进行通信。继承机制的 引入丝毫沒有影响对象的封装性 从另一个角度看,继承和封装机制还具有一定 的相似性,它们都是一种共享代码的手段。继承 是一种静态共享代码的手段,通过派生类对象的 创建,可以接受某个消息启动其基类所定义的代 码段,使基类和派生类共享这段代码。封装机制 提供的是一种动态共享代码的手段。通过封装 可将一段代码定义在一个类中,在另一个类所定 义的操作中,可以通过创建该类的实例,向它发 送消息而启动这段代码,同样达到共享的目的。 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 26 (3)继承与封装的关系 在面向对象系统中,有了封装机制以后,对 象之间只能通过消息传递进行通信。继承机制的 引入丝毫没有影响对象的封装性。 从另一个角度看,继承和封装机制还具有一定 的相似性,它们都是一种共享代码的手段。继承 是一种静态共享代码的手段,通过派生类对象的 创建,可以接受某个消息启动其基类所定义的代 码段,使基类和派生类共享这段代码。封装机制 提供的是一种动态共享代码的手段。通过封装, 可将一段代码定义在一个类中,在另一个类所定 义的操作中,可以通过创建该类的实例,向它发 送消息而启动这段代码,同样达到共享的目的
(4)类的层次结构 有了继承机制,就有了类的层次关系 和结构。类的层次结构是表示系统中所有 类关系的轮廓,以这种形式可以很容易地 跟踪类与基类和派生类之间的关系 类的层次关系可以清楚有效地表示现实 世界事物的分类问题 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 27 (4)类的层次结构 有了继承机制,就有了类的层次关系 和结构。类的层次结构是表示系统中所有 类关系的轮廓,以这种形式可以很容易地 跟踪类与基类和派生类之间的关系。 类的层次关系可以清楚有效地表示现实 世界事物的分类问题
(5)继承机制的特点 在面向对象系统中,引入继承机制后具有如下五个特点: ①清晰体现相关类间的层次结构关系; ②减少代码和数据的冗余度,大大增加程序的重用性 ③通过增强一致性,减少模块间的接口和界面,大大增加程序 的易维护性 ④是自动传播代码的有力工具; ⑤是在一些比较一般的类的基础上构造,建立和扩充新类的最 有效的手段。 在面向对象系统中,继承性不仅作用在对操作的继 承上,还作用在对数据内容的继承上,既具有结构特性 的继承性,又具有行为特性的继承性 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 28 (5)继承机制的特点 在面向对象系统中,引入继承机制后具有如下五个特点: ①清晰体现相关类间的层次结构关系; ②减少代码和数据的冗余度,大大增加程序的重用性; ③通过增强一致性,减少模块间的接口和界面,大大增加程序 的易维护性; ④是自动传播代码的有力工具; ⑤是在一些比较一般的类的基础上构造,建立和扩充新类的最 有效的手段。 在面向对象系统中,继承性不仅作用在对操作的继 承上,还作用在对数据内容的继承上,既具有结构特性 的继承性,又具有行为特性的继承性
3、多态性 多态性( Polymorphism)是面向对象 系统中的又一重要特性。它描述的是同 个消息可以根据发送消息对象的不同,采 用多种不同的行为方式。重载,虚函数, 抽象类是实现多态性的几个重要手段。 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 29 3、多态性 多态性(Polymorphism)是面向对象 系统中的又一重要特性。它描述的是同一 个消息可以根据发送消息对象的不同,采 用多种不同的行为方式。重载,虚函数, 抽象类是实现多态性的几个重要手段
(1)重载 在面向对象系统中,重载的含义是指 通过为函数和运算符创建附加定义而使它 们的名字可以重载。也就是说,相同名字 的函数或运算符在不同的场合可以表现出 不同的行为 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 30 (1)重载 在面向对象系统中,重载的含义是指 通过为函数和运算符创建附加定义而使它 们的名字可以重载。也就是说,相同名字 的函数或运算符在不同的场合可以表现出 不同的行为