




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA语言程序设计,电子教案,胡 杰,二00五年九月六日,第5章 类的继承性与多态性,5.1 类的继承(Inherit):,继承:指面向对象程序的两个类之间的一种关系。 当一个类拥有另一个类的所有数据和操作时,就 称这两个类之间有继承关系。,被继承的类叫父类、超类或基类(SuperClass、 BaseClass)继承了父类所有属性和方法的类叫子类 (SubClass),继承实现了软件的重用。,图: 汽车类的继承关系,图: 面向对象技术的继承特点,一、继承的概念,第5章 类的继承性与多态性,注意: 1、Java规定:一个子类只能有一个父类(单重 继承) 2、抽象类:只定义一些状态和实现部分行为,小结: 利用继承的机制组织、设计系统中的类,可以提 高程序的抽象程度(接近人类的思维方式)、提高程序 的开发效率、降低维护的工作量,第5章 类的继承性与多态性,二、继承关系的定义,由extends 完成继承关系的定义,它界定了父子 类的关系,作用:继承可以使子类获得父类所有非私有属性 和方法,几个须注意的问题: 父类与子类的关系是相对的 子类只能有一个父类且必须有一个父类(单重继承) 子类可以继承父类中所有非private属性和方法 对继承的理解应扩展到整个父类的分支(如 toString() 方法),类的继承关系图,第5章 类的继承性与多态性,举例: public class MyA1 extends java.applet.Applet public class MyApplication extends Frame public class MyApp1 extends Object public class MyApp2,三、成员变量的继承和隐藏,1、成员变量的继承 子类可以继承父类的所有非私有域(变量、对象),例51:成员变量的继承,练习:找出例51中各个类中所有的域(变量、对象),第5章 类的继承性与多态性,2、成员变量的隐藏,成员变量的隐藏:子类对从父类继承来的成员变 量重新加以定义,举例1:成员变量的隐藏,注意: A、子类中有同名成员变量 a) 有从父类中继承来的属性 b) 子类中自己定义的与父类同名的属性,第5章 类的继承性与多态性,B、同名属性的使用 a)当引用指向父类的属性时,调用的是父类的属性 b)子类执行继承父类的方法时,操作的时父类的属 性 c)子类执行自定义的方法,处理的是自定义的属性,举例2:成员变量的隐藏,第5章 类的继承性与多态性,四、成员方法的继承和覆盖,1、方法的继承(Hidden),子类不需要定义就可以拥有父类的所有非私有属 性,方法的继承举例,2、方法的覆盖(Overload),覆盖:在子类中直接定义和父类同名的方法,特点:子类与父类同名方法中的形参及返回值相 同,但方法体不同,例52:成员方法的覆盖,第5章 类的继承性与多态性,应注意的问题: 方法的覆盖将清除父类方法占用的内存,从而 使父类方法在子类中不存在如toString()(与成员 变量的隐藏比较) 由于覆盖现象是同名方法分别属于不同的类, 所以要用不同的类名或对象名调用 在子类中重新定义方法时,要保持与父类完全 相同的方法名、返回值和参数列表,第5章 类的继承性与多态性,子类不能覆盖父类的final方法;也不能覆盖父 类的static方法,但可以隐藏父类的static方法 非抽象子类必须覆盖父类的抽象方法。,五、 this和super,this与super是经常用来指代父类和子类对象的 关键字。,Java系统默认:每个对象都缺省地具有null、 this和super 这三个量。所以在任意类中都可以不 加说明地使用它们,第5章 类的继承性与多态性,1、this,对象的引用:对象的另一个名字(别名)。 当一个类被实例化成一个对象时,this 就是对象 名的另一种表示。,代表当前类或当前对象本身(当前对象的引用),2、super 代表当前对象的直接父类对象,super 是当前对象的直接父类对象的引用(别名) 直接父类:指当前类直接继承的类,第5章 类的继承性与多态性,例: public double length() int x1=super.x; int y1=super.y; int x2=this.x; int y2=this.y; ,例53 :this和super的用法,P.94的说明,第5章 类的继承性与多态性,使用中注意: 若子类隐藏父类的属性,则在子类中则不加引 用的属性一定是子类属性;若要使用父类属性则必须 用super引用 若有覆盖方法,子类中调用父类的同名覆盖方 法时,也要加super 引用,举例:super的应用,例54 :super举例,Super()举例,第5章 类的继承性与多态性,注:this 和 super 是属于类的特有属性,它们 只能用来代表当前对象或当前对象的直接父类对象, 所以它们不能像类的其他属性一样随便引用,D200_Card my200=new D200_Card(); my200.this.getBalance(); /错误 my200.super.getBalance(); /错误,第5章 类的继承性与多态性,5.2 类的多态(Polymorphism):,多态:是指一个类中同名的不同方法共存的现象。 类的多态体现在方法的重载(Overload)上。重载 包括成员方法和构造方法的重载,一、成员方法的重载(Override): 同一类中定义同名的不同内容的方法叫重载(以 形式参数的不同来区分不同的方法),要注意与覆盖的区别:覆盖是继承中的现象-子类 对继承自父类的方法重新定义叫覆盖。,第5章 类的继承性与多态性,即:在子类中定义和父类同名的方法,但重新编 写方法体(例如:performDial()方法)。 特点:同名的不同方法在不同的类中,使用时应 指明调用的是哪个类中的方法(或由系统自动调用),区别: 重载:同名(不同参数)的方法在同一个类中。 依靠参数区分不同的方法(利用不同的参数调用)。 覆盖:同名(相同参数)的方法在不同的类中。 使用是依靠不同的类名或对象名调用。,举例:打印功能的重载,例5-5:对不同的数排序,第5章 类的继承性与多态性,一、成员方法的重载(Override):,构造方法的重载:在一个类里有多个具有不同形 式参数的构造方法,它们以不同的方式对对象进行初 始化。,构造方法是类的一种特殊方法,它既可以从父类 继承,也可以相互重载。,举例:构造函数的重载,例56:构造函数的重载,第5章 类的继承性与多态性,小结:覆盖和重载体现了面向对象程序设计中多 态特性.但它们的概念和使用是不同的,具体区别如下: 方法的覆盖是子类与父类间方法的关系;方 法的重载是同一个类内部多个方法间的关系 覆盖方法有相同的方法名、形参表和返回值; 重载方法不能有相同的形参表 覆盖方法的调用是利用不同的前缀(类、对象 前缀);重载方法的调用是利用不同的实际参数 用final 修饰的方法是不能被覆盖的,但它可 以被重载,继承树汽车类,汽油机车,车 辆,机 动 车,非机动车,内燃机车,电 车,人 力 车,畜 力 车,柴油机车,有轨电车,无轨电车,自 行 车,手 推 车,牛 车,马 车,面向对象技术的继承特点,有卡号电话卡,卡号、密码、接入号、接通,登录交换机,电话磁卡,变量: 使用地域,拨打电话,电话IC卡,变量,拨打电话,IP 卡,有效日期,拨打电话,200 卡,变量: 附加费,修改密码、拨打电话,继承,继承,继承,继承,电话卡,变量: 剩余金额,方法:打电话、查余额,无卡号电话卡,对应电话机型号,获得电话机型号,继承,变量:,电话卡及其子类的层次关系树,创建变量与创建对象示意图,5,12,内存,int i_a=5,i_b=12,int i_a=5;,int i_b=12;,Class Mc int a=5; float b=10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 趣味参观指南课件
- 临水电安全培训
- 课件模板使用
- 神奇的眼镜课件
- 物理统计方法
- 产科异位妊娠课件
- 课件最后一次
- 凉山支教考试题及答案
- 教师招聘之《幼儿教师招聘》能力提升试题打印含答案详解(预热题)
- 客店理论考试题及答案
- 贵阳市殡仪服务中心招聘考试真题2024
- 中学藏文散文教学课件大纲
- 第4课《乡愁》课件-2025-2026学年统编版语文九年级上册
- 苗圃建设项目可行性研究报告
- 数据挖掘(第2版)PPT全套完整教学课件
- 清洗地毯操作流程课件
- 系统硬件-通信模块741-s使用手册
- 球磨机试车方案
- 四年级上册数学单元测试-8.垂线与平行线 苏教版 (含解析)
- 中药的煎煮方法课件
- 医院患者有自杀倾向时应急预案及处理流程
评论
0/150
提交评论