TP02-继承-ACCP-6.0-S2-3-使用Java实现面向对象编程-课件



《TP02-继承-ACCP-6.0-S2-3-使用Java实现面向对象编程-课件》由会员分享,可在线阅读,更多相关《TP02-继承-ACCP-6.0-S2-3-使用Java实现面向对象编程-课件(34页珍藏版)》请在装配图网上搜索。
1、单击此处编辑母版文本样式,第二级,第三级,第四级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,单击此处编辑母版标题样式,继承,第二章,回顾及作业点评,如何从现实世界抽象出类?,构造方法的语法要求是什么?,static,和,final,的含义是什么?,请一位同学到白板上画出,Dog,类的类图。,预习检查,如何继承一个类?,使用继承有什么好处?,抽象类和抽象方法的特点是什么?,本章任务,优化电子宠物系统,实现汽车租赁系统计价功能,为什么使用继承,2-1,这两个类图有什么问题?,-name:String,-health:int,-love:int,-strain:St
2、ring,Dog,+print():void,+getName():String,+getHealth,():int,+getLove():int,+getStrain:String,+Dog(),-name:String,-health:int,-love:int,-sex:String,Penguin,+print():void,+getName():String,+getHealth,():int,+getLove():int,+getSex():String,+Penguin(),使用继承优化设计,将重复代码抽取到父类中,为什么使用继承,2-2,使用继承优化后:,子类与父类是,is-a
3、,关系,减少代码量,方便修改代码,如何使用继承,使用继承,编写父类,编写子类,继承父类,class Pet,/,公共的属性和方法,class Dog,extends,Pet,/,子类特有的属性和方法,class Penguin,extends,Pet,只能继承一个父类,继承关键字,对比,C#,用“,:”,理解继承,4-2,有些父类成员不能继承,private,成员,子类与父类不在同包,使用默认访问权限的成员,构造方法,演示示例:不能继承的情况,理解继承,4-3,访问修饰符,protected,可以修饰属性和方法,本类、同包、子类可以访问,访问修饰符总结,访问修饰符,本类,同包,子类,其他,pr
4、ivate,默认,(friendly),protected,public,在何处使用继承,何时使用继承?,继承与真实世界类似,只要说,“,猫是哺乳动物,”,,猫的很多属性、行为,就不言自明了,藏獒是一种狗,继承是代码重用的一种方式,将子类都有的属性和行为放到父类中,符合,is-a,关系的设计使用继承,小结,2-2,阅读代码,说出运行结果,class Car,private int site=4;/,座位数,Car(),System.out.println(,载客量是,+site+,人,);,public void setSite(int site),this.site=site;,void p
5、rint(),System.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(),方法,子类,重写,父类方法,指导,优化电子宠物系统,2-1,训练要点:,继承,子类重写父类方法,理解继承中的初始化过程,需求说明:,优化电子宠物系统
6、,使用继承实现,Dog,类和,Penguin,类,打印宠物信息,讲解需求说明,指导,优化电子宠物系统,2-2,实现思路:,完成时间:,20,分钟,继承,抽象类,以下代码有什么问题?,Java,中也使用抽象类,限制实例化,Pet pet=new Pet(,贝贝,20,40);,pet.print();,实例化,Pet,没有意义,public,abstract,class Pet,在,C#,中通过抽象类实现,抽象方法,以下代码有什么问题?,abstract,也可用于方法,抽象方法,抽象方法没有方法体,抽象方法必须在抽象类里,抽象方法必须在子类中被实现,除非子类是抽象类,public,abstrac
7、t,void print();,没有方法体,public abstract class Pet,public void print(),/,每个子类的实现不同,指导,抽象,Pet,类,2-1,训练要点:,抽象类的定义和继承,抽象方法定义和重写,需求说明:,修改,Pet,类为抽象类,修改,Pet,类的,print(),方法为抽象方法,输出,Dog,信息,讲解需求说明,final,用法,Penguin,类不希望再被其他类继承?,使用,final,类,方法不希望被重写?,使用,final,方法,属性值不希望被修改?,使用,final,方法,public,final,class Penguin ext
8、ends Pet,/,最终版的类,public,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),this.name=name;,class T
9、est,public static void main(String args),final Dog dog=new Dog(,欧欧,);,dog.name=,美美,;,dog=new Dog(,亚亚,);,使用,final,修饰引用型变量,变量不可以再指向另外的对象,使用,final,修饰引用型变量,变量的值是固定不变的,而变量所指向的对象的属性值是可变的,综合案例分析,2-1,发现类,发现类的属性,综合案例分析,2-2,发现类的方法,优化设计,编写程序入口,练习,编写测试代码运行,需求说明:,编写测试代码运行,完成时间:,5,分钟,总结,如何继承一个类?,继承有什么好处?,抽象类和抽象方法的特点是什么?,面向对象设计的步骤是什么?,作业,课后作业,必做,教员备课时在此添加内容,选做,教员备课时在此添加内容,提交时间:,xxx,提交形式:,xxx,预习作业,背诵英文单词,教员备课时在此添加内容,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。