欢迎来到天天文库
浏览记录
ID:58539827
大小:1.06 MB
页数:29页
时间:2020-10-21
《Java继承和多态(第十一讲)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象的Java实现-继承和多态(第十一讲)掌握继承掌握super关键字掌握多态本章目标2生活中的继承2-1生活中,继承的例子随处可见动物食草动物食肉动物谁是父类?谁是子类?能说出继承的特点吗?继承需要符合的关系:is-a,父类更通用、子类更具体3生活中的继承2-2子类具有父类的一般特性(包括属性和行为),以及自身特殊的特性巴士是汽车吗?卡车是汽车吗?出租车是汽车吗?最大载客数量报站引擎数量外观颜色刹车加速汽车最大载重量卸货所属公司最大载客数量打发票属性行为请问:出租车包含哪些属性和行为呢?4为什么需要继承4-1开发教员类,其中教员分为Java教员以及.NET教员,各自的要求如下:J
2、ava教员属性:姓名、所属中心方法:授课(步骤:打开Eclipse、实施理论课授课)、自我介绍.NET教员属性:姓名、所属中心方法:授课(步骤:打开Visualstudio2005、实施理论课授课)、自我介绍5请问:以下这个解决方案中存在着什么问题?为什么需要继承4-2publicclassDotNetTeacher{privateStringname;//教员姓名privateStringschool;//所在中心publicDotNetTeacher(StringmyName,StringmySchool){name=myName;school=mySchool;}publicvoi
3、dgiveLession(){System.out.println("启动VisualStudio2005");System.out.println("知识点讲解");System.out.println("总结提问");}publicvoidintroduction(){System.out.println("大家好!我是"+school+"的"+name+".");}}publicclassJavaTeacher{privateStringname;//教员姓名privateStringschool;//所在中心publicJavaTeacher(StringmyName,Strin
4、gmySchool){name=myName;school=mySchool;}publicvoidgiveLession(){System.out.println("启动Eclipse");System.out.println("知识点讲解");System.out.println("总结提问");}publicvoidintroduction(){System.out.println("大家好!我是"+school+"的"+name+".");}}代码存在重复,违背了“writeonce,onlyonce”的原则6为什么需要继承4-3如何改进?有没有可能建立继承关系,让子类自动继承父
5、类的属性和方法?Java教员是教员吗?.NET教员是教员吗?publicclassTeacher{privateStringname;//教员姓名privateStringschool;//所在中心publicTeacher(StringmyName,StringmySchool){name=myName;school=mySchool;}publicvoidgiveLesson(){System.out.println("知识点讲解");System.out.println("总结提问");}publicvoidintroduction(){System.out.println("大家
6、好!我是“+school+"的"+name+"。");}}现在,所有子类中相同的代码都抽取到父类中了属性行为姓名所在中心授课自我介绍教员Java教员.NET教员7为什么需要继承4-4publicclassJavaTeacher2extendsTeacher{publicJavaTeacher2(StringmyName,StringmySchool){super(myName,mySchool);}publicvoidgiveLesson(){System.out.println("启动Eclipse");super.giveLesson();}}publicclassDotNetTea
7、cher2extendsTeacher{publicDotNetTeacher2(StringmyName,StringmySchool){super(myName,mySchool);}publicvoidgiveLesson(){System.out.println("启动VisualStudio.NET");super.giveLesson();}}使用继承,可以有效实现代码复用子类自动继承父类的属性和方法,子类中不再存在重复
此文档下载收益归作者所有