《继承与多态》PPT课件

《继承与多态》PPT课件

ID:40506453

大小:285.56 KB

页数:27页

时间:2019-08-03

《继承与多态》PPT课件_第1页
《继承与多态》PPT课件_第2页
《继承与多态》PPT课件_第3页
《继承与多态》PPT课件_第4页
《继承与多态》PPT课件_第5页
资源描述:

《《继承与多态》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章继承与多态上一章主要阐述了类和对象的概念。本章将学习面向对象程序设计中两个重要的概念—继承和多态。利用继承,可以基于已经存在的类构造新类,还可以在新类中添加一些新的成员或修改继承了的成员,以满足新的需求。而多态是在继承的基础上引出的,可以解决子类父类中的成员重名问题。4.1继承概述利用继承可以很好地实现代码重用问题。在利用已有的类构造新类时,新类保留已有类的属性和行为,并可以根据要求添加新的属性和行为。例如,卡车具有一般汽车的属性,而特有的属性就是载货。在第3章中,曾经介绍过类之间的关系:“USES-A”关系、“HAS-A”关系、“IS-A”关系。其中,“IS-A”

2、关系是继承的一个特征。4.1.1超类、子类被继承的类一般称为“超类”或“父类”,继承的类称为“子类”。当子类继承超类时,不需声明该类继承了的已定义的超类的实例变量和方法,子类体内只需写出新增的变量和方法即可。超类、子类是继承中非常重要的概念,它们形象地描述了继承的层次关系。继承节省了定义新类的大量工作,可以方便地重用代码。例如,把汽车作为父类,当创建汽车的子类轿车时,品牌、价格、最高时速等属性会自动地被定义,调用刹车方法时会自动调用在汽车类中定义的刹车方法。但一个子类不必非要使用继承下来的属性和方法,一个子类可以选择覆盖已有的属性和方法,或添加新的属性和方法。4.1.2继

3、承层次继承关系可以用树形层次表达出来。为汽车类的继承层次关系,注意,汽车类定义了品牌、价格、最高时速等属性(成员变量),以及刹车、启动等方法。当定义继承汽车类的子类卡车时,它自动继承汽车类的属性和方法。继承只是代码重用的一种方式,滥用继承会造成很严重的后果。只有当需要向新类添加新的操作,并且把已存在类的默认行为融合进新类中时,才需要继承已存在的类。4.2Java中的继承在Java中,实际上所有的类均直接或间接继承自java.lang.Object类,也可以说Object类是Java中的总根类。实际开发中,如不特殊指定,开发人员自己定义的类均直接继承自Object类。4.2

4、.1派生子类在Java中,类的继承通过entends关键字实现。在创建新类时,使用extends指明新类的父类,具体语法如下。class子类名extends父类名{子类类体}4.2.2继承规则当类B成功继承类A后,就涉及到成员变量的继承问题。下面将从两个方面介绍成员变量继承的相关知识,主要包括成员变量的继承规则与成员变量的隐藏。1.成员变量的继承规则2.成员变量的隐藏对于成员变量来说,当子类本身具有与继承自父类的成员变量名称相同的成员变量时,便构成了成员变量的隐藏。其含义是,在子类中直接调用该成员变量时,将调用的是子类中本身具有的成员变量,而不是从父类继承的成员变量,继承

5、原则子类继承父类的成员变量,包括实例成员变量和类成员变量。子类继承父类除构造方法以外的成员方法,包括实例成员方法和类成员方法。子类不能继承父类的构造方法。因为父类构造方法创建的是父类对象,子类必须声明自己的构造方法,创建子类自己的对象。子类能够继承父类的析构方法。子类不能删除父类成员。子类可以增加自己的成员变量和成员方法。子类可以重定义父类成员。多重继承的概念美国教授研究出空中汽车没有翅膀也能飞行。据了解,MX-400试用2年多来,它最高飞行时速超过了600多公里,比直升机快2倍,可载4人,飞行最大高度9000米,航程1500公里。遇上风雨交加,它也能畅行无阻,夜晚照样飞

6、行,其飞行本领毫不逊色一般的飞机。可是飞机需要机场、跑道才能起降、飞行,...交通工具有三类:空中交通工具、水上交通工具、陆地交通工具。空中汽车属于?Java不直接支持多重继承。4.2.3方法的继承与覆盖在类继承机制中,方法的继承和覆盖是其核心内容之一。方法继承允许子类使用父类的方法,而覆盖是在子类中重新定义父类中的方法,更显示了继承的灵活性。1.方法的继承从本质上讲,方法也是一种成员,因此继承规则与成员变量的继承规则完全一样,其是否能被继承同样取决与访问限制。2.方法的覆盖(override)覆盖(override)是指子类声明并实现父类中的同名方法并且参数列表也完全相

7、同。重写的主要优点是能够定义各子类的特有行为,4.2.4this与super在Java中,this和super与继承是密切相关的。this常用来引用当前对象,而super常用来引用父类对象。1.this方法中的某个对象与当前对象的某个成员有相同的名字,这时为了不至于混淆,可以使用this关键字来指明要使用某个成员,使用方法是“this.成员名”,即使用this隐式地引用对象的实例变量和方法。this--本对象2.supersuper用来引用父类的成员,包含父类的构造函数、属性以及方法。使用方法为super变量名或super.方

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。