网站大量收购独家精品文档,联系QQ:2885784924

第07章 类的封装、多态和继承.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第07章 类的封装、多态和继承

中国软考联盟(CIU)助您成功 0731-8992682 Train@ 第7章 类的继承和多态 主讲人:罗铁清 7.1 类的继承 通过继承原有类的基础,派生出新类,进而开发出更为复杂的数据类型。新开发的对象即有新定义的行为特征,又包含有原有类定义的行为特征。 7.1.1 继承的概念 当一个类获取另一个类中所有非私有的数据和操作的定义作为自己的部分或全部成分时,就称这两个类之间具有继承关系。 被继承的类称为父类或超类,继承了父类或超类的所有数据和操作的类称为子类。 一个父类可以同时拥有多个子类 ,这时这个父类实际上是所有子类的公共域和公共方法的集合,而每一个子类则是父类的特殊化,是对公共域或方法在功能、内涵方面的扩展和延伸。 使用继承的主要优点:使得程序结构清晰,降低编码和维护的工作量。 7.1.1 继承的概念 以电话卡为例说明父类与子类之间的这种关系 7.1.1 继承的概念 关于单重继承和多重继承的概念 单重继承:是指任何一个类都只有一个单一的父类; 多重继承:指一个类可以有一个以上的父类,它的静态的数据属性和操作从所有这些父类中继承。 采用单重继承的程序结构比较简单;而支持多重继承的程序,其结构则是复杂的网状,设计、实现都比较复杂。 Java语言,出于安全、可靠性的考虑,仅支持单重继承。 7.1.2 继承的实现 定义继承的形式为: [访问权限] class 类名 [extends 父类] { ………. } 其中:“访问权限”是指public、private等;“extends”为继承关键字,extends后面跟着的为父类名。 1.子类对父类成员变量的继承 子类在继承父类的成员变量时,只继承父类中非私有的成员变量。 7.1.2 继承的实现 2.子类中与父类同名的成员变量的使用 子类中定义的成员变量与原有父类中定义的成员变量名称相同,子类在引用这个同名成员变量时,默认是引用它自己定义的成员变量,而将从父类那里继承而来的成员变量“覆盖”住,好象此变量在父类中不存在一样。 如果一定要引用父类这个成员变量,可以使用“super”关键字来指示。 例7-10 如何使用子类来引用父类的成员变量 7.1.3 super和this引用 4.this与super的区别 This与super是常用来指代父类对象和子类对象的关键字。 Java系统默认,每个类都缺省地具有null,this和super三个域,所以在任意类中都可以不加说明而直接使用它们。 null代表“空”,代表一个什么也没有的“空”值。在定义一个对象但尚未为其开辟内存单元时可以指定这个对象为null。 this和super两个域则与继承有密切关系。 7.1.3 super和this引用 4.this与super的区别 (1).this this表示的是当前对象本身,更准确地说,this代表了当前的一个引用。对象引用可能理解为对象的另一个名字,通过引用可以顺利地访问到对象,包括访问、修改对象的域、调用对象的方法。 类似于C/C++语言中的指针,但是对象的引用与内存地址无关,它仅仅是对象的另一个名字。 7.1.3 super和this引用 4.this与super的区别 (2).super super表示的是当前对象的直接父类对象,是当前对象的直接父类对象的引用。所谓直接父类是相对于当前对象的其他“祖先”类而言。 Super代表的就是直接父类。 7.1.3 super和this引用 注意:this和super是属于类的有特指的域,只能用来代表当前对象和当前对象的父对象,而不能像其他类的属性一样随意引用。 下面语句中的用法都是错误的: D200_Card my200=new D200_Card(); my200.this.getBalance(); //错误 my200.super.getBalance(); //错误 除了用来指代当前对象或父类对象的引用外,this和super还有一个重要的用法,就是调用当前对象或父类对象的构造函数。 例7-3new 7.1.3 super和this引用 5.调

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档