- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 5 章 继承与多态 一、继承性与多态性的实现技术 类是用来描述具有相同属性和行为对象集合的工具。任何一个类别的对象都不是独立存在于客观世界上的,因此类与类之间必定存在着某些关系,概括起来有下列三种: 关联关系 聚合关系 泛化关系 关联关系 关联是指两个或多个类之间的一种特定关系,它描述了各个类对象之间相互依赖的关系。最常见的关联是两个类之间的关联,即二元关联。 聚合关系 顾名思义,聚合是将多个类聚集在一起的意思。 聚合的方式有如下几种: 包含关系(has a) 组成关系(part of) 所属关系(owns) 雇佣关系(employed_by) 泛化关系 泛化描述了两个类之间的“一般-特殊”关系。 可以使用“Is a”进行检测。 继承机制是实现软件可重用的基石,是提高软件系统的可扩展性和可维护性的主要途径。所谓继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用。 在Java语言中,通过定义子类支持继承性。 多态性是面向对象程序设计的一个核心概念,它有助于增加软件系统的可扩展性、自然性和可维护性。所谓多态是指不同的类对象收到同一个消息可以产生完全不同的响应效果的现象。利用多态机制,用户可以发送一个通用的消息给各个类对象,而实现细节由接收对象自行决定,这样,同一个消息可能会导致调用不同的方法。 在Java语言中,主要利用子类覆盖父类的成员方法的方式支持多态性。 二、类的继承 在 Java 中,类是一个层次结构,其中有一个被称为Object的特殊超类,所有的类都是Object直接或间接的子类。 子类继承父类的数据成员和成员方法,同时也可以更改父类的数据成员或重载父类的成员方法,以及在父类的基础上添加新的数据成员和成员方法。因此,父类和子类 之间反映的是“一般与特殊”的关系 应用继承的主要场合 反映类之间的泛化,即“一般-特殊”关系 子类的定义格式 [修饰符] 子类名称 extends 父类名称 { 子类体; } 《注意》 没有extends,默认父类为Object 只能有一个父类,即单继承 子类继承父类中除private部分的全部内容 类继承具有传递性 class B { int b1 = 1; public int b2 = 2; protected int b3 = 3; private int b4 = 4; ? int getb4( ) { return b4; } } class A extends B { int a = 5; ? int sum( ) { return b1 + b2 + b3 + getb4( ) + a ; } } class ClassInheritance { public static void main(String args[ ]) { B bb = new B( ); System.out.println(B: +bb.b1+ +bb.b2+ +bb.b3+ +bb.getb4( )); A aa = new A( ); System.out.println(A: +aa.b1+ +aa.b2+ +aa.b3+ +aa.getb4( ) + +aa.a + + aa.sum( ) ); } } class B { int b1 = 1; public int b2 = 2; protected int b3 = 3; private int b4 = 4; ? int getb4( ) { return b4; } void setb4( int i ) { b4 = i; } } class A extends B { int a = 5; }? class CPP { public static void main(String arg[ ]) { C cc = new C( ); System.out.println(C: +cc.b1+ +cc.b2+ + cc.b3+ +cc.getb4( ) + +cc.a+ +cc.c); cc.change( 15 ); System.out.println(C: +cc.b1+
您可能关注的文档
- Java程序设计(chap5).ppt
- Java程序设计(chap9).ppt
- Java程序设计(下).ppt
- JAVA程序设计_3.ppt
- JAVA程序设计_共11章 (0).ppt
- JAVA程序设计_共11章 (1).ppt
- JAVA程序设计_共11章 (2).ppt
- java程序设计第2章.ppt
- Java程序设计第3章.ppt
- Java程序设计-第二部分.ppt
- 2025年公务员考试时事政治押题练习试卷及答案详解(考点梳理).docx
- 2025年公务员考试时事政治检测卷及完整答案详解(典优).docx
- 2025年公务员考试时事政治检测卷包附参考答案详解(巩固).docx
- 2025年公务员考试时事政治检测卷含答案详解(实用)通关秘籍题库.docx
- 2025年公务员考试时事政治模拟考试试卷附参考答案详解【综合题】.docx
- 2025年公务员考试时事政治检测卷及完整答案详解【考点梳理】.docx
- 2025年公务员考试时事政治押题练习试卷附完整答案详解【有一套】.docx
- 2025年公务员考试时事政治检测卷包及参考答案详解【满分必刷】.docx
- 黑龙江省齐齐哈尔市第二十一中学2025届中考猜题生物试卷含解析.doc
- 2025届辽宁省抚顺市望花区中考猜题历史试卷含解析.doc
最近下载
- 电力设备公司产品制造车间生产定额计件工资实施办法.docx VIP
- 2023国有企业“三重一大”决策制度实施细则办法.pdf VIP
- 安徽大学《地球科学概论》课件-第4讲大气圈、冰冻圈、岩石圈.pptx VIP
- 国家开放大学(电大)《农业生态基础.》2020年09月春季期末考试真题及答案(试卷代号2794).pdf VIP
- 餐饮行业员工职业规划.pptx VIP
- 《数学数学期望》课件.ppt VIP
- 肾病内科专业疾病临床诊疗规范2025版.docx VIP
- 质量信得过班组培训课件.pptx VIP
- 《高级英语FacetoFacewithHurricaneCamille》-精选课件(公开).ppt VIP
- 高中化学课件:芳环上的亲核取代反应.pptx VIP
文档评论(0)