- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象特性:继承和多态
回顾 在Java程序中,代码封装带给我们的好处是什么? 举例说明什么是方法重载? Java中的构造方法与实例方法,有什么区别? 本章任务 升级HelloWorld,输出Oracle职员的基本信息: 使用继承提高代码的复用性 使用多态提高代码的可扩展性及可维护性 本章目标 掌握继承 掌握super关键字 掌握多态 生活中的继承 2-1 生活中,继承的例子随处可见 生活中的继承 2-2 子类具有父类的一般特性(包括属性和行为),以及自身特殊的特性 为什么需要继承 4-1 开发Oracle职员类,其中职员分为Java职员以及.NET职员,各自的要求如下: Java职员 属性:姓名、所属中心 方法:编写代码(步骤:启动java开发工具、开始编码)、自我介绍 .NET职员 属性:姓名、所属中心 方法:编写代码(步骤:启动.NET开发工具、开始编码)、自我介绍 为什么需要继承 4-2 请问:以下这个解决方案中存在着什么问题? 为什么需要继承 4-3 如何改进?有没有可能建立继承关系,让子类自动继承父类的属性和方法? 为什么需要继承 4-4 如何实现继承 3-1 在Java语言中,用extends关键字来表示一个类继承了另一个类,例如: 如何实现继承 3-2 子类自动继承父类的属性和方法,子类中可以定义特定的属性和方法 如何实现继承 3-3 子类的构造方法中,通过super关键字调用父类的构造方法 一切类的“祖先”——Object 在Java 中,所有的Java类都直接或间接地继承了java.lang.Object类 小结 1 请编码实现动物世界的继承关系: 动物(Animal)具有行为:吃(eat)、睡觉(sleep) 动物包括:兔子(Rabbit),老虎(Tiger) 这些动物吃的行为各不相同(兔子吃草,老虎吃肉);但睡觉的行为是一致的。 请通过继承实现以上需求,并编写测试类AnimalTest进行测试。 继承 继承与构造 创建子类的对象会调用子类和父类的构造方法 顺序是先调用父类的构造方法,再调用子类的构造方法 关于继承 Object类是一切类的父类 如果一个类如果继承Object可以省略继承的描述 一个父类可以有多个子类 一个子类只能有一个父类 继承与构造 在继承关系中,因创建子类对象而调用子类的构造方法时 。会在执行子类构造方法时最先调用并执行其直接父类的构造方法。 Object类的构造器总是最先被执行 引用的指向1 内存示意图: 引用的指向2 父类类型引用指向子类类型实例: 小明在喝水,他喝的真的是“水”么? 小明在喝:可乐、矿泉水、绿茶…… 为什么需要多态 1-1 坐车去世博园 为什么需要多态 2-1 搭车去世博园 为什么需要多态 2-2 坐火车去世博园 为什么需要多态 2-3 坐公交车去世博园 为什么需要多态 2-4 打出租车去世博园 多态的实现1 多态的实现2 如何调用? 实现代码 为什么需要多态 5-1 在Oracle职员类的基础上,开发一个类代表总部,负责对各职员进行评估,评估内容包括: 1、职员的自我介绍 2、职员的授课 为什么需要多态 5-2 第一种解决方案 为什么需要多态 5-3 现在,升级Oracle职员类,增加一种新类型:OracleDBStaff,该类型的职员专门负责数据库,要求如下: 属性:姓名、所属中心 方法:编码(启动Oracle,开始编码) 同时,总部也负责对这类职员进行评估 为什么需要多态 5-4 如果在第一种解决方案的基础上去解决,我们需要如下两个步骤: 建立OracleDBStaff类 修改总部类,增加方法:judge(OracleDBStaff t) 为什么需要多态 5-5 第二种解决方案——使用多态 什么是多态 简单来说,多态是具有表现多种形态的能力的特征 同一个实现接口,使用不同的实例而执行不同操作 如何实现多态 1、子类重写父类的方法 2、编写方法时,使用父类定义的方法 3、运行时,根据实际创建的对象类型动态决定使用哪个方法 小结 2 请编码实现如下需求: 乐器(Instrument)分为:钢琴(Piano)、小提琴(Violin) 各种乐器的弹奏( play )方法各不相同。 编写一个测试类InstrumentTest,要求: 编写方法testPlay,对各种乐器进行弹奏测试。要依据乐器的不同,进行相应的弹奏。 在main方法中进行测试 总结 2-1 给定如下Java代码,编译运行后,输出结果是什么? 总结 2-2 给定如下Java代码,编译运行后,输出结果是什么? 使用多态注意什么 使用多态应注意: 由于采用了“父类类型的引用指向子类类型的实例”的方式,使得在编译时这个引用只能“.”父类的方法(也可以是属性,但因面向对
您可能关注的文档
最近下载
- 基于学科核心素养的高中语文大单元教学.docx VIP
- 网络货运平台整体设计方案.docx VIP
- 医学课件-第五章 血管内皮细胞功能不全与疾病.pptx VIP
- 妊娠合并贫血试题附有答案.docx VIP
- 2025年全国统一高考英语试卷(新课标Ⅰ卷)含答案 .pdf VIP
- 10X-Genomics单细胞转录组.pptx VIP
- 2024年中考生物复习:105个初中生物易错字汇总(全国通用).pdf VIP
- DB37_T5116-2018:装配式竖向部件临时斜支撑应用技术规程.pdf VIP
- 网络货运平台整体设计方案.pptx VIP
- 2025年高考历史新课标卷真题试卷及答案.docx VIP
文档评论(0)