版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章(二)继承回顾及作业点评如何从现实世界抽象出类?构造方法的语法要求是什么?static和final的含义是什么?请一位同学到白板上画出Dog类的类图。预习检查如何继承一个类?使用继承有什么好处?抽象类和抽象方法的特点是什么?本章任务优化电子宠物系统实现汽车租赁系统计价功能掌握继承的优点和实现掌握子类重写父类方法掌握继承下构造方法的执行过程掌握抽象类和抽象方法的使用掌握final修饰属性、方法和类本章目标为什么使用继承 2-1这两个类图有什么问题?- name:String- health:int- love:int- strain:StringDog+ print():void+ get
2、Name():String+ getHealth ():int+ getLove():int+ getStrain:String+ Dog()- name:String- health:int- love:int- sex:StringPenguin+ print():void+ getName():String+ getHealth ():int+ getLove():int+ getSex():String+ Penguin() 使用继承优化设计使用继承优化设计 将重复代码将重复代码抽取到父类抽取到父类中中为什么使用继承 2-2使用继承优化后: 子类与父类是子类与父类是is-a关系关系 减
3、少代码量减少代码量 方便修改方便修改代码代码 如何使用继承使用继承l编写父类l编写子类,继承父类class Pet /公共的属性和方法公共的属性和方法class Dog extends Pet /子类特有的属性和方法子类特有的属性和方法class Penguin extends Pet 只能继承一个父类只能继承一个父类 继承关键字继承关键字 对比对比C#用用“ : ” 理解继承4-1子类访问父类成员l访问父类属性l访问父类方法 使用使用super关键字关键字 ;super.print();演示示例:演示示例:super用法用法 super代表代表父类对象父类对象 理解继承4
4、-2有些父类成员不能继承lprivate成员 l子类与父类不在同包,使用默认访问权限的成员l构造方法演示示例:不能继承的情况演示示例:不能继承的情况 理解继承4-3访问修饰符protectedl可以修饰属性和方法l本类、同包、子类可以访问访问修饰符总结 访问修饰符本类同包子类子类 其他private默认(friendly)protectedpublic理解继承4-4继承后的初始化顺序演示示例:断点追踪初始化过程演示示例:断点追踪初始化过程 父类属性父类属性 子类属性子类属性 父类构造方法父类构造方法 子类构造方法子类构造方法 在何处使用继承何时使用继承?l继承与真实世界类似只要说“猫是哺乳动物
5、”,猫的很多属性、行为 就不言自明了藏獒是一种狗l继承是代码重用的一种方式 将子类都有的属性和行为放到父类中将子类都有的属性和行为放到父类中 符合符合is-a关系的设计使用继承关系的设计使用继承 小结2-1继承使用什么关键字?子类可以继承父类的哪些成员?使用继承有什么好处?小结2-2阅读代码,说出运行结果class Car private int site = 4; /座位数座位数 Car() System.out.println (载客量是载客量是+site+人人); public void setSite(int site) this.site = site; void print() S
6、ystem.out.print(载客量是载客量是+site+人人); class Bus extends Car Bus(int site) setSite(site); public static void main(String args) Bus bus = new Bus(20); bus.print();载客量是载客量是4人人载客量是载客量是20人人 方法重写子类中有和父类相同签名的方法,会如何?演示示例:断点调试演示示例:断点调试print()方法方法 子类子类重写重写父类方法父类方法 继承中的构造方法构造方法也会被重写吗?如何在子类中调用父类的构造方法?super();super
7、(参数表参数表);演示示例:断点调试演示示例:断点调试super用法用法 可以被默可以被默认添加认添加 只能是构造方法只能是构造方法的第一条语句的第一条语句 不能被继承因此不能重写不能被继承因此不能重写 指导优化电子宠物系统2-1训练要点:l继承l子类重写父类方法l理解继承中的初始化过程需求说明:l优化电子宠物系统使用继承实现Dog类和Penguin类打印宠物信息讲解需求说明讲解需求说明指导优化电子宠物系统2-2实现思路:完成时间:完成时间:20分钟分钟继承继承 抽象类以下代码有什么问题?Java中也使用抽象类,限制实例化Pet pet = new Pet (贝贝贝贝,20,40);pet.p
8、rint();实例化实例化Pet没没有意义有意义 public abstract class Pet 在在C#中通过抽象类实现中通过抽象类实现 抽象方法以下代码有什么问题?abstract也可用于方法抽象方法l抽象方法没有方法体l抽象方法必须在抽象类里l抽象方法必须在子类中被实现,除非子类是抽象类public abstract void print();没有方法体没有方法体 public abstract class Pet public void print() / 每个子类的每个子类的实现不同实现不同指导抽象Pet类2-1训练要点:l抽象类的定义和继承l抽象方法定义和重写 需求说明:l修改
9、Pet类为抽象类l修改Pet类的print()方法为抽象方法l输出Dog信息讲解需求说明讲解需求说明指导抽象Pet类2-2实现思路l修改Pet类为抽象类,修改print()为抽象方法lDog类继承Pet类,实现print()方法l运行测试l注释掉Dog类中print()方法,运行测试类查看错误信息l编写注释完成时间:完成时间:15分钟分钟final用法Penguin类不希望再被其他类继承?l使用final类方法不希望被重写?l使用final方法属性值不希望被修改?l使用final方法public final class Penguin extends Pet /最终版的类最终版的类 publi
10、c final void print () /最终版的方法最终版的方法public class Penguin final String home =南极南极;/ 居住地居住地 public void setHome(String name) this.home=home; /错误,错误,home不可以再次赋值不可以再次赋值 最终版的属性值最终版的属性值常见错误请指出下面代码的错误class Dog String name; public Dog(String name) = name; class Test public static void main(String a
11、rgs) final Dog dog = new Dog(欧欧欧欧); = 美美美美; dog = new Dog(亚亚亚亚); 使用使用final修饰引用型修饰引用型变量,变量不可以再变量,变量不可以再指向另外的对象指向另外的对象使用使用final修饰引用型变量,变量的值是固定不修饰引用型变量,变量的值是固定不变的,而变量所指向的对象的属性值是可变的变的,而变量所指向的对象的属性值是可变的综合案例某汽车租赁公司出租多种车辆,车型及租金情况如下:编写程序实现计算租赁价轿车客车(金杯、金龙)车型别克商务舱GL8宝马550i别克林荫大道16座日租费(元/天)6005003008001500综合案例分析2-1发现类发现类的属性综合案例分析2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东体育职业技术学院《特殊教育(二)》2023-2024学年第一学期期末试卷
- 广东食品药品职业学院《企业经营决策模拟》2023-2024学年第一学期期末试卷
- 广东轻工职业技术学院《生物高分子材料在组织工程领域应用设计》2023-2024学年第一学期期末试卷
- 天津市河东区2024-2025学年高三上学期期末质量检测试题 数学 含解析
- 广东农工商职业技术学院《环境设计与制作》2023-2024学年第一学期期末试卷
- 广东梅州职业技术学院《综合交通运输系统》2023-2024学年第一学期期末试卷
- 广东女子职业技术学院《中国文学经典(上)》2023-2024学年第一学期期末试卷
- 广东茂名健康职业学院《文献检索B》2023-2024学年第一学期期末试卷
- 四年级数学(小数加减运算)计算题专项练习与答案
- 【名师一号】2020-2021学年高中地理必修一(中图版)双基限时练6-大气的热状况与热力环流
- 第六单元测试卷(单元测试)-2024-2025学年语文二年级上册统编版
- JZ-7型空气制动机特点及控制关系
- 临床脑卒中后吞咽障碍患者进食护理标准
- 酒店前台员工规章制度
- 医院食堂改进方案及措施(2篇)
- 心内科进修汇报
- 医院检验科实验室生物安全程序文件SOP
- 建立强大的人际影响力与领导力
- 九年级历史期末考试质量分析
- 视觉传达设计教资面试
- 三创赛获奖-非遗文化创新创业计划书
评论
0/150
提交评论