新Java面向对象程序设计(第二版) 电子教案 赵生慧 第4章_类的继承和多态.pptVIP

新Java面向对象程序设计(第二版) 电子教案 赵生慧 第4章_类的继承和多态.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java面向对象程序设计(第二版) 主编 赵生慧 中国水利水电出版社 第4章 类的继承和多态 教学内容 Java语言中继承的概念 父类与子类的概念 关键字super的用法 final修饰符的用法 多态的概念及其用法 教学目标 理解继承的概念及重要意义 掌握子类的继承方式 掌握创建子类对象的方法 理解子类和父类构造方法的执行过程 理解和掌握成员变量的隐藏和成员方法的覆盖 掌握super、final关键字的意义及使用方法 理解多态性的意义及用法 4.1 引例 例4.1 应用面向对象程序设计方法,分别设计一个动物类、一个鱼类和一个狗类。鱼和狗都有身高、体重等属性,另外还有吃饭、睡觉等行为。 分析:鱼和狗应具有动物身上的所有属性和行为,但不同的动物其属性和行为又各不相同。我们可以提取所有动物身上的共性,将其设计为一个父类(如动物类),对于不同的动物(如鱼)可以看成是父类的子类。用子类去继承父类属性和行为,实现代码重用。如Jpro4_1.java 4.2 继 承 继承的概念 继承是面向对象程序设计的又一个重要特性。类的继承就是以原有类为基础创建新类,达到代码复用的目的。 面向对象程序设计的继承特性使得大型应用程序的维护和设计变得更加简单。继承机制提供了一种重复利用原有程序模块资源的途径。通过新类对原有类的继承,可以扩充旧的程序模块功能以适应新的用户需求,从而既可以大大方便原有系统的扩充,也可以大大加快新系统的开发速度。 4.2 继 承(续) 4.2 继 承(续) 2. 子类与父类 继承是一种由已有的类创建新类的机制。利用继承,我们可以先创建一个具有公共属性和方法的一般类,根据一般类再创建具有自己属性和方法的新类。新类继承一般类的属性和方法,并根据需要增加自己的属性和方法。由继承而得到的类称为子类或派生类,被继承的类称为父类或超类。子类直接的上层父类称作直接父类,否则叫间接父类。父类直接派生的类称为直接子类,否则叫间接子类。Java不支持多继承,即一个子类只能有一个直接父类。 4.2 继 承(续) 例如: class A { …… } class B extends A { …… } class C extends B { …… } 在类的声明中,class B extends A中的关键字extends表示B类继承A类,即B类是A类的子类,C类是B类的子类。因此,A类是B类的直接父类,A类是C类的间接父类;B类称作A类的直接子类,C类为A类的间接子类。 4.2 继 承(续) 3. 子类的继承性 (1) 同包中的子类和父类的继承性 如果子类和父类在同一包中,子类能继承父类中除private修饰符修饰的成员变量和成员方法。继承后的成员变量和成员方法的访问权限保持不变。 例如: class A { private void priMethod() { System.out.println(priMethod()); } void defMethod() { System.out.println(defMethod()); } protected void proMethod() { System.out.println(proMethod()); } public void pubMethod() { System.out.println(pubMethod()); } } class B extends A { public static void main(String args[]) { B b=new B(); b.priMethod(); //非法访问 b.defMethod(); Method(); b.pubMethod(); } } 4.2 继 承(续) 3. 子类的继承性 (2)不同包中的子类和父类的继承性 如果子类和父类不在同一包中,那么子类只能继承父类中用protected和public修饰符修饰的成员变量和成员方法。继承后的成员变量和成员方法的访问权限保持不变。 例如: //文件名A.java package superclass; public class A { private void priMethod() { System.out.println(priMethod()); } void defMethod() { System.out.println(defMethod()); } protected void proMet

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档