【教学课件】第4章继承与多态.ppt
《【教学课件】第4章继承与多态.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第4章继承与多态.ppt(21页珍藏版)》请在三一办公上搜索。
1、第4章 继承与多态,上一章主要阐述了类和对象的概念。本章将学习面向对象程序设计中两个重要的概念继承和多态。利用继承,可以基于已经存在的类构造新类,还可以在新类中添加一些新的成员或修改继承了的成员,以满足新的需求。而多态是在继承的基础上引出的,可以解决子类父类中的成员重名问题。,4.1 继 承 概 述,利用继承可以很好地实现代码重用问题。在利用已有的类构造新类时,新类保留已有类的属性和行为,并可以根据要求添加新的属性和行为。例如,卡车具有一般汽车的属性,而特有的属性就是载货。在第3章中,曾经介绍过类之间的关系:“USES-A”关系、“HAS-A”关系、“IS-A”关系。其中,“IS-A”关系是继
2、承的一个特征。,4.1.1 超类、子类,被继承的类一般称为“超类”或“父类”,继承的类称为“子类”。当子类继承超类时,不必写出全部的实例变量和方法,只需声明该类继承了的已定义的超类的实例变量和方法即可。超类、子类是继承中非常重要的概念,它们形象地描述了继承的层次关系。继承节省了定义新类的大量工作,可以方便地重用代码。例如,把汽车作为父类,当创建汽车的子类轿车时,品牌、价格、最高时速等属性会自动地被定义,调用刹车方法时会自动调用在汽车类中定义的刹车方法。但一个子类不必非要使用继承下来的属性和方法,一个子类可以选择覆盖已有的属性和方法,或添加新的属性和方法。,4.1.2 继承层次,继承关系可以用树
3、形层次表达出来。为汽车类的继承层次关系,注意,汽车类定义了品牌、价格、最高时速等属性(成员变量),以及刹车、启动等方法。当定义继承汽车类的子类卡车时,它自动继承汽车类的属性和方法。继承只是代码重用的一种方式,滥用继承会造成很严重的后果。只有当需要向新类添加新的操作,并且把已存在类的默认行为融合进新类中时,才需要继承已存在的类。,4.2 Java中的继承,在Java中,实际上所有的类均直接或间接继承自类,也可以说Object类是Java中的总根类。实际开发中,如不特殊指定,开发人员自己定义的类均直接继承自Object类。,4.2.1 派生子类,在Java中,类的继承通过entends关键字实现。
4、在创建新类时,使用extends指明新类的父类,具体语法如下。class 子类名 extends 父类名 子类类体,4.2.2 继承规则,当类B成功继承类A后,就涉及到成员变量的继承问题。下面将从两个方面介绍成员变量继承的相关知识,主要包括成员变量的继承规则与成员变量的隐藏。1成员变量的继承规则2成员变量的隐藏对于成员变量来说,当子类本身具有与继承自父类的成员变量名称相同的成员变量时,便构成了成员变量的隐藏。其含义是,在子类中直接调用该成员变量时,将调用的是子类中本身具有的成员变量,而不是从父类继承的成员变量,,4.2.3 方法的继承与覆盖,在类继承机制中,方法的继承和覆盖是其核心内容之一。方
5、法继承允许子类使用父类的方法,而覆盖是在子类中重新定义父类中的方法,更显示了继承的灵活性。1方法的继承从本质上讲,方法也是一种成员,因此继承规则与成员变量的继承规则完全一样,其是否能被继承同样取决与访问限制。2方法的覆盖子类的自身方法中,若与继承过来的方法具有相同的方法名,便构成了方法的重写(有的资料称之为方法的覆盖)。重写的主要优点是能够定义各子类的特有行为,,4.2.4 this与super,在Java中,this和super与继承是密切相关的。this常用来引用当前对象,而super常用来引用父类对象。1this方法中的某个对象与当前对象的某个成员有相同的名字,这时为了不至于混淆,可以使
6、用this关键字来指明要使用某个成员,使用方法是“this.成员名”,即使用this隐式地引用对象的实例变量和方法。2supersuper用来引用父类的成员,包含父类的构造函数、属性以及方法。使用方法为super变量名或super.方法名(实参)。,4.3 强制类型转换,在前面的章节中曾经介绍过,将一个类型强制转换为另一个数据类型的过程称为强制类型转换。本节中的强制类型转换只在继承过程中发生引用类型转换,而不是基本数据类型的转换。引用类型转换指对象引用的强制类型转换,在学习对象引用的强制类型转换之前,先介绍一下对象引用能指向什么样的对象。通过前面几章的学习,可以知道不管什么类型的对象引用,均能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 继承
链接地址:https://www.31ppt.com/p-5658861.html