- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.4 多态性 例:定义一个接口Workable和实现该接口的抽象类Person,以及Person的子类Student、Teacher,以及定义反映执行任务的Task类和测试任务类TaskTest.它们之间的关系见图5-5, 它们的程序请单见Workable.java,Person.java , Student.java ,Teacher.java,Task.java和TaskTest.java. 运行结果见图5-6. 图5-5 图5-6 本章小结 Java是一个面向对象程序设计语言,具有封装性、继承性和多态性。继承是体现了类定义的扩展,有效的支持了代码复用,充分表现了面向对象程序设计的灵活、便利性。本章详细的介绍了用Java语言实现继承。并对用于派生子类的抽象类做了一个说明。 本章小结 接口实质是一组方法和常量的集合。Java语言利用关键字interface来定义,在类中用implements来实现接口,对接口说明的抽象方法进行覆盖。接口解决了Java语言不能实现多继承的问题。更为理想的是,通过接口有效的克服其他语言在实现多继承中导致的“二义性问题”。 本章小结 多态性简单的可以理解为“一个接口,多种实现”。为了实现多态性,Java语言定义重载、覆盖、隐藏等概念,通过它们来实现多态。多态性从编程的角度而言,有方法的重载、方法的覆盖、类型的隐性转换等。由于运行多态往往是通过覆盖来体现,有两种方法可以实现运行多态:一种是利用继承机制来实现多态,另外一种是利用接口实现多态。 * 第5章 继承与多态 学习导读 本章讨论面向对象的编程(OOP)及其关键技术:继承和多态。 继承性是软件复用的一种形式,对降低软件复杂性行之有效。继承性同时是面向对象程序设计语言的特点,采用对象但没有继承性的语言是基于对象的语言,但不是面向对象的语言,这是两者的区别。 多态性允许以统一的风格处理已存在的变量及相关的类,使增加系统中新功能变得容易。 课程结构 5.1 继承 5.2 抽象类 5.3 接口 5.4 多态性 5.1 继承 继承性是面向对象程序设计语言的最主要的特点,是其他语言(如面向过程语言)所没有的。 类之间的继承关系是现实世界中遗传关系的直接模拟,它表示类之间的内在联系以及对属性和操作的共享,即子类可以沿用父类(被继承类)的某些特征。当然,子类也可以具有自己独立的属性和操作。 继承 5.1 继承 1.继承定义 继承性是软件复用的一种形式。新类由已存在的类生成,通过保留它们的属性和行为,并且根据新类的要求对性能加以修改,添加新的属性和行为。 5.1 继承 如果子类只从一个父类继承,则称为单继承;如果子类从一个以上父类继承,则称为多继承。注意 Java不支持多重继承,但它支持“接口”概念。接口使Java获得了多重继承的许多优点,摒弃了相应的缺点。 图5-1 单继承和多继承示意 5.1 继承 2.继承的实现 Java语言中是通过关键字extends来实现单继承的。简单的实现格式如下: class 子类名 extends 父类名{ 类体 } 注意: 如果在格式中没有通过extends关键字来标明父类名,这并不是意味着该类无父类,相反,它表示该类是java.lang.Object的子类。 子类从父类继承有两个主要的方面: (1)属性的继承。例如,公司是一个父类,一个公司有名称、地址、经理、雇员等,这些都属于结构方面。 (2)方法的继承。一个父类定义了若干操作,如一个公司要有项目、利润、任命经理、录用职工等操作,子公司也将继承这些行为。 5.1 继承 例5.1 类继承的示例。 定义一个BaseClass类和DerivedClass类,其中BaseClass是DerivedClass的父类.程序清单见BaseClass.java和DerivedClass.java.运行结果如 图5-1. 图5-1 5.2 抽象类 在现实生活中,可以发现这样的现象:许多实物抽象出成为一个共同的类别,如“交通工具”,但是“交通工具”并直接对应着实际存在的类别如卡车、自行车、三轮车等。 “交通工具”等只是作为一个抽象概念存在,对一组固定实现的抽象描述,并不对应具体的概念。因此,在面向对象程序设计中,可以将这些抽象描述定义为抽象类,而这一组任意个可能的具体实现则表现为所有可能的派生类。 由于抽象类对一组具体实现的抽象性描述,所以抽象体是不能修改的。通常抽象类不具备实际功能,只用来派生子类。 5.2 抽象类 1.抽象方法 Java语言中,用关键字abstract修饰的方法为抽象方法。语法格式形如: abstract 返回值类型 方法名([形式参数]); 抽象方法只有方法头没有方法体,即只提供方法的规格说明,没有具体的实现。 注意: 1)final关键字不能修
您可能关注的文档
最近下载
- 城市轨道交通车站屏蔽门系统有一种安全感叫做屏蔽门课件.pptx VIP
- 外贸单证实务信用证.ppt VIP
- DBJ 15-65-2021 广东省建筑节能与绿色建筑工程施工质量验收规范 conv.docx VIP
- 高处作业的基础知识.pptx VIP
- UbuntuLinux操作系统(第3版)(微课版)-习题(理论题)参考答案 陈杰.doc
- 征信报告模板带水印可编辑2025年4月版.pdf
- 儿科停水停电应急预案演练脚本.docx VIP
- 广东省绿色建筑评价标准DBJ∕T15-83-2017_20191023_164147 conv.docx VIP
- 【JTG 3410-2025公路沥青及混合料试验规程》新旧变化解读.docx
- 1《七律二首 送瘟神》课件(共50张PPT).pptx VIP
文档评论(0)