- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
指导——抽象Pet类2-1训练要点:抽象类的定义和继承抽象方法定义和重写需求说明:修改Pet类为抽象类修改Pet类的print()方法为抽象方法输出Dog信息讲解需求说明指导——抽象Pet类2-2实现思路修改Pet类为抽象类,修改print()为抽象方法Dog类继承Pet类,实现print()方法运行测试注释掉Dog类中print()方法,运行测试类查看错误信息编写注释完成时间:15分钟(二)继承回顾及作业点评如何从现实世界抽象出类?构造方法的语法要求是什么?static和final的含义是什么?请一位同学到白板上画出Dog类的类图。预习检查如何继承一个类?使用继承有什么好处?抽象类和抽象方法的特点是什么?本章任务优化电子宠物系统实现汽车租赁系统计价功能掌握继承的优点和实现掌握子类重写父类方法掌握继承下构造方法的执行过程掌握抽象类和抽象方法的使用掌握final修饰属性、方法和类本章目标为什么使用继承2-1这两个类图有什么问题?-name:String-health:int-love:int-strain:StringDog+print():void+getName():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关系减少代码量方便修改代码如何使用继承使用继承编写父类编写子类,继承父类classPet{//公共的属性和方法}classDogextendsPet{//子类特有的属性和方法}classPenguinextendsPet{}只能继承一个父类继承关键字对比C#用“:”理解继承4-1子类访问父类成员访问父类属性访问父类方法使用super关键字super.name;super.print();演示示例:super用法super代表父类对象理解继承4-2有些父类成员不能继承private成员子类与父类不在同包,使用默认访问权限的成员构造方法演示示例:不能继承的情况理解继承4-3访问修饰符protected可以修饰属性和方法本类、同包、子类可以访问访问修饰符总结访问修饰符本类同包子类其他private√默认(friendly)√√protected√√√public√√√√理解继承4-4继承后的初始化顺序演示示例:断点追踪初始化过程父类属性子类属性父类构造方法子类构造方法在何处使用继承何时使用继承?继承与真实世界类似只要说“猫是哺乳动物”,猫的很多属性、行为就不言自明了藏獒是一种狗继承是代码重用的一种方式将子类都有的属性和行为放到父类中符合is-a关系的设计使用继承小结2-1继承使用什么关键字?子类可以继承父类的哪些成员?使用继承有什么好处?小结2-2阅读代码,说出运行结果classCar{privateintsite=4;//座位数Car(){System.out.println(载客量是+site+人);}publicvoidsetSite(intsite){this.site=site;}voidprint(){System.out.print(载客量是+site+人);}}classBusextendsCar{Bus(intsite){setSite(site);}}publicstaticvoidmain(String[]args){Busbus=newBus(20);bus.print();}载客量是4人载客量是20人
文档评论(0)