第4章继承(1)理论部分掌握继承掌握super关键字掌握子类重写父类方法掌握继承下构造方法的执行过程掌握抽象类和抽象方法的使用掌握final修饰属性、方法和类本章目标生活中,继承的例子随处可见生活中的继承动物食草动物食肉动物谁是父类?谁是子类?能说出继承的特点吗?继承需要符合的关系:is-a,父类更通用、子类更具体子类具有父类的一般特性(包括属性和行为),以及自身特殊的特性生活中的继承巴士是汽车吗?卡车是汽车吗?出租车是汽车吗?最大载客数量报站引擎数量外观颜色刹车加速汽车最大载重量卸货所属公司最大载客数量打发票属性行为请问:出租车包含哪些属性和行为呢?开发软件教员类,其中教员分为Java教员以及Android教员,各自的要求如下:Java教员属性:姓名、所属中心方法:授课(步骤:打开Eclipse、实施理论课授课)、:姓名、所属中心方法:授课(步骤:打开MyEclipse、实施理论课授课)、自我介绍为什么需要继承请问:以下这个解决方案中存在着什么问题?lassAndroidTeacher{privateStringname;//教员姓名privateStringschool;//所在中心publicAndroidTeacher(StringmyName,StringmySchool){name=myName;school=mySchool;}publicvoidgiveLession(){("");("知识点讲解");("总结提问");}publicvoidintroduction(){ ("大家好!我是" +school+"的"+name+".");}}lassJavaTeacher{privateStringname;//教员姓名privateStringschool;//所在中心publicJavaTeacher(StringmyName,StringmySchool){name=myName;school=mySchool;}publicvoidgiveLession(){("启动Eclipse");("知识点讲解");("总结提问");}publicvoidintroduction(){ ("大家好!我是" +school+"的"+name+".");}}代码存在重复,违背了“writeonce,onlyonce”的原则如何改进?有没有可能建立继承关系,让子类自动继承父类的属性和方法?为什么需要继承Java教员是教员吗?Android教员是教员吗?lassTeacher{privateStringname;//教员姓名privateStringschool;//pTeacher(StringmyName,StringmySchool){name=myName;school=mySchool;}publicvoidgiveLesson(){("知识点讲解");("总结提问");}publicvoidintroduction(){ ("大家好!我是“ +school+"的"+name+"。");}}现在,所有子类中相同的代码都抽取到父类中了属性行lassJavaTeacherextendsTeacher{publicJavaTeacher(StringmyName,StringmySchool){super(myName,mySchool);}publicvoidgiveLesson(){("启动Eclipse");();}}lassAndroidTeacherextendsTeacher{publicAndroidTeacher(StringmyName,StringmySchool){super(myName,mySchool);}publicvoidgiveLesson(){("启动MyEclipse");();}}使用继承,可以有效实现代码复用子类自动继承父类的属性和方法,子类中不再存在重复代码为什么需要继承在Java语言中,用extends关键字来表示一个类继承了另一个类,例如:lassJavaTeacherextendsTe
第二部分java面向对象编程第03章继承1章节 来自淘豆网m.daumloan.com转载请标明出处.