第6章 继承与多态.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 继承与多态.ppt

第6章 继承与多态 学习重点: 继承关系 属性、方法在继承中的特点 接口的作用、定义和实现 本章逻辑结构 6.1 继承和多态的概念 6.1.1 继承的概念 6.1.2 多态的概念 6.2 类成员的继承 6.2.1 属性与方法的继承 6.2.2 this和super的使用 6.2.3 构造函数的继承和重载 6.2.4 最终类和最终类成员 6.2.5 对象在继承关系中的改变 6.2.6 抽象类及在继承中的特点 6.3 接口 6.3.1 接口的定义 6.3.2 接口的实现 6.3.3 适配器 6.4 练习题 6.1 继承和多态的概念 继承与多态是一对彼此相关的概念,可以说多态是一种特殊的继承关系,它们都是面向对象方法中的重要概念和技术。 6.1.1 继承的概念 1. 概念的提出 通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称父类,后定义的类称子类。 例:我们用车这个类可以引出机动车和非机动车两个子类,这两个子类又有自己的子类,这样一层一层细分,就形成如图所示的继承结构。 2. 继承的定义 Java中通过关键字extends来定义两个类之间的继承关系 ,extends后面的是父类,新定义的是子类。 例如: public class Automobile extends Vehicle{} //Vehicle是父类,Automobile是子类 继承能够使子类拥有父类的非私有属性和方法,而不需要在子类的类定义时重新定义父类的这些属性和方法。 子类既可以保持父类原有的属性和方法,也可以对从父类那里继承而来的属性和方法进行修改 。 例:我们对Vehicle选取了以下内容进行定义: public class Vehicle{ String clocor=”white”; //颜色属性 protected float speed; //速度属性 public void accelerate(){ //加速方法 … } } 我们对automobile进行如下简单的定义,那就含有了Vehicle的所有的方法和属性,并且还增加了一个燃油率的属性和一个减速方法。 public class Automobile extends Vehicle{ float fuelConsumption; public void decelerate(){ … } } 这时Automobile含有的属性和方法如下: String clocor=”white”; protected float speed; float fuelConsumption; public void accelerate(){ … } public void decelerate(){ speed=speed-10.f ; } 再定义Automobile的子类Car,它会继承以上所有内容 public class Car extends Automobile{ private int price; public void decelerate(){ speed=speed-20.f ; } } 定义了继承关系后,改动父类的一个属性或方法时,子类也会同样改变。 这些属性和方法必须是非私有,并且没有被子类重新定义的。 6.1.2 多态的概念 多态是指在一棵继承树中的类中可以有多个同名但不同方法体以及不同形参的方法。 多态有两种情况:覆盖和重载 覆盖是在子类中直接定义和父类同样的属性和方法,但重新编写了方法体,即子类与父类方法的形参与返回值都相同,而内部处理不同,这种方法在使用过程中,Java虚拟机会根据调用这个方法的类来确定哪个方法被调用。 重载是指同一个类定义中有多个同名的方法,但有不同形参,而且每个方法有不同的方法体,调用时根据形参的个数和类型来决定调用的是哪个方法。 例6.1 方法的重载 程序代码 例子中用到两

文档评论(0)

zhangchao11 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档