- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象程序设计 3-系统的特征
3.2.1 继 承 基本概念:继承所表达的就是一种对象类之间的 相交关系。它使得某类对象可以继承另外一类对 象的特征和能力。 类间具有继承关系时应具有的特性: 1)类间具有共享特征(包括数据和程序代码的 共享); 2)类间具有细微的差别或新增部分(包括非共 享的程序代码和数据); 3)类间具有层次结构。 若类B继承类A时,则属于B中的对象便具有 类A的一切性质(数据属性)和功能(操作)。 称类A为基类或父类,或超类;而称继承类B 为A的派生类或子类。 设 A 为基类, B 为派生类。 1. 共享性: 派生类具有基类所有特征, 即:A ? B 2. 区别性: 派生类不等于基类,即 A≠B 3. 层次性: 表示了类之间的关系 继承所具有的作用有两个方面:一方面 可以减少代码冗余;另一方面可以通过协调 性来减少相互之间的接口和界面。 3.2.2 继承的分类 1、从继承源上划分: 单继承和多继承。 2、从继承内容上划分: (1)取代继承 (2)包含继承 (3)受限继承 (4)特化继承 从上面继承分类的两个方面可以看出, 所有的继承关系都存在类与类之间,而且都 具有两类不同的性质,一类是用来描述继承 源的;另一类是用来描述继承内容的。 3.2.3 继承与封装的关系(二者是否矛盾) 两个概念并没有实质冲突,封装性主要指对 象的封装性,即将数据和操作封装成为一个整 体。引入继承机制后,对象依然是封装得很好的 实体,对象之间通讯的途径只有发送消息。类机 制是一种静态机制,对象仍然是一个类的实例也 许是基类的实例,也许是派生类的实例。从另一 角度,二者具有一定相似性,它们都是共享代码 的手段。继承是静态共享,封装是动态共享。 3.2.4 继承与委托的关系 在面向对象系统中,每个操作元素都是一个 对象,为了减少一个操作的实现代码,我们尽 量使用向其它对象发送消息而不再重写代码, 这就是委托的意义。 二者都具有节省代码的作用,继承定义的类 可有继承其它类的能力;委托则是一个对象可 以依赖其它对象为它完成某些操作。 相同点:都具有节省代码的作用,继承定义的类 可有继承其它类的能力;委托则是一个对象可以 依赖其它对象为它完成某些操作。 不同点:性质不同的两种关系。继承是静态关系 ,其基本功能是将功能相关的对象进行特定归类 表示,使得特殊类别的对象有继承较为一般类别 对象的能力;而委托则是一种既可以静态定义也 可以动态定义的更复杂的关系,其基本功能是将 一个对象的工作分配到与之相关的更特殊的对象 上。 3.2.7 面向对象系统的继承性 引入继承机制的优点: 1)能清晰体现相关类间的层次结构关系。 2)能减小代码和数据的重复冗余度,大大增加 程序的重用性。 3)能通过增强一致性来减少模块间的接口和界 面,大大增加程序的易维护性。 4)继承是能自动传播代码的有力工具。 5)继承还是在一些比较一般的类的基础上构造 、建立和扩充新类的最有效的手段。 说明: 1)在面向对象系统中,继承性不仅作用在对操 作的继承,还作用在对数据内容的继承,即具有 结构特性的继承性,又具有行为特性的继承性。 2)派生类对从基类继承的数据成员和函数成员 的访问权:基类的成员若处在保护段和公有中, 派生类是可以访问的;若基类的成员处在私有段 中,派生类是无权访问的。 3.3 多态性 多态性是面向对象系统中的又一重要特性, 它描述的是同一个消息可以根据发送消息对象 的不同采用多种不同的行为方式。 3.3.2 虚函数的概念 虚函数使用户在一个类等级中可以使用相同 函数的多个版本,每一个版本均属于类等级中的 不同的类,究竟使用的是哪一个特定的版本需要 在运行中决定。 在C++语言中,虚函数在定义时,要在基 类的此函数声明前加上关键字virtual,在派生类 中可重新给出定义。虚函数的各个版本中,其返 回值、函数参数的个数和类型必须是一致的。至 于程序执行过程中究竟运行的是基类的版本,还 是某个派生类的版本,这要看当时发送此消息的 对象是属于哪一类的。 3.3.3 抽象类的概念 作用:抽象类的作用在于将许多有关的类组织 在一起,提供一个公共的基类,而那些被它组
您可能关注的文档
- 地道英语口语表达.ppt
- 计算理论0_0计算理论教学计划.ppt
- 2.1光纤基础知识V.1.0.0.ppt
- 高考英语书面表达指导课件(ling).ppt
- Quartz定时器学习2011-04-07.ppt
- 书面表达之记叙文解题指导.ppt
- 关于动物的表达.ppt
- 大型网站建设5_搜索引擎优化.ppt
- flash mx 2004 教案第10章.ppt
- 9 面向对象的系统开发方法.ppt
- GB/T 39560.10-2024电子电气产品中某些物质的测定 第10部分:气相色谱-质谱法(GC-MS)测定聚合物和电子件中的多环芳烃(PAHs).pdf
- 中国国家标准 GB/T 39560.10-2024电子电气产品中某些物质的测定 第10部分:气相色谱-质谱法(GC-MS)测定聚合物和电子件中的多环芳烃(PAHs).pdf
- 《GB/T 39560.10-2024电子电气产品中某些物质的测定 第10部分:气相色谱-质谱法(GC-MS)测定聚合物和电子件中的多环芳烃(PAHs)》.pdf
- GB/T 39560.302-2024电子电气产品中某些物质的测定 第3-2部分:燃烧-离子色谱法(C-IC)筛选聚合物和电子件中的氟、氯和溴.pdf
- 中国国家标准 GB/T 39560.2-2024电子电气产品中某些物质的测定 第2部分:拆解、拆分和机械制样.pdf
- 中国国家标准 GB/T 39560.302-2024电子电气产品中某些物质的测定 第3-2部分:燃烧-离子色谱法(C-IC)筛选聚合物和电子件中的氟、氯和溴.pdf
- GB/T 39560.2-2024电子电气产品中某些物质的测定 第2部分:拆解、拆分和机械制样.pdf
- 《GB/T 39560.2-2024电子电气产品中某些物质的测定 第2部分:拆解、拆分和机械制样》.pdf
- 《GB/T 39560.303-2024电子电气产品中某些物质的测定 第3-3部分:配有热裂解/热脱附的气相色谱-质谱法(Py/TD-GC-MS)筛选聚合物中的多溴联苯、多溴二苯醚和邻苯二甲酸酯》.pdf
- 中国国家标准 GB/T 39560.303-2024电子电气产品中某些物质的测定 第3-3部分:配有热裂解/热脱附的气相色谱-质谱法(Py/TD-GC-MS)筛选聚合物中的多溴联苯、多溴二苯醚和邻苯二甲酸酯.pdf
文档评论(0)