[电脑基础知识]JAVA第5章.pptVIP

  1. 1、本文档共61页,可阅读全部内容。
  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第5章

第5章 继承与多态 本章学习要点 全面掌握面向对象的基本特征 掌握如何使用继承性来到达软件的重用 深入掌握继承过程中域的隐藏和方法的覆盖技巧 深入掌握抽象类和抽象方法的定义 深入掌握接口的定义和使用技巧 本章讨论面向对象程序设计另外两个最重要的特点:继承和多态。 继承是面向对象程序设计方法中实现软件重用的一种重要手段,通过继承可以更有效地组织程序结构,明确类之间的关系,并充分利用已有的类来创建新类,通过继承可以实现代码的重用,以完成更复杂的设计、开发。 多态则可以统一多个相关类的对外接口,并在运行时根据不同的情况执行不同的操作,提高类的抽象度和灵活性。 5.1 子类、父类与继承机制 5.1.1 继承的概念 在类的定义过程中,继承是一种由已有的类创建新类的机制。继承而得到的类为子类,被继承的类为父类,父类包括所有直接或间接被继承的类。 在类的声明中加入extends子句就可以创建一个类的子类: class SubClass extends SuperClass {……} Java中不通过extends关键字支持多重继承,即extends之后只能有唯一的父类。如果缺省extends子句,则该类为java.lang.Object的子类。子类可以继承父类中访问权限设定为public、 protected和包可访问的成员变量和方法,但是不能继承访问权限为private的成员变量和方法。 5.1.1 继承的概念 5.1.2 类的层次 Java语言中类的是有严格的层次结构的。 除Object类之外,每个类都继承惟一的父类。这种继承性性质使得类的层次结构形成了如图所示的一种树状结构。 Object类定义和实现了Java系统所需要的众多类的共同行为,它是所有类的父类,也即这个树状结构中的根类,所有的类都是由这个类继承、扩充而来的,这个Object类定义在java.lang包中。 5.1.2 类的层次 5.2 继承的实现 5.2.1 子类的定义 定义一个子类,即在定义一个类的时候加上extends关键字,并在之后带上其父类名,其一般格式为: [类的修饰符] class 子类名 extends 父类名{ 域定义; 方法定义; } 这和前面定义类的格式并没有什么区别,只是在定义子类时“extends 父类名”不再是可选项。 5.2.1 子类的定义 5.2.1 子类的定义 5.2.1 子类的定义 【例5.2】实现电话类的继承结构。为了代码的简洁,而把注意力集中在我们要讨论的语法机制上,这里假设移动电话仅一种,电话的计费方式为:国内长途和国际长途话费分别是市话费的3倍和9倍。 abstract class Telephone { long phoneNumber; final int local_Call=1; final int distance_Call=3; final int international_Call=9; double balance ; abstract boolean charge_Mode (int call_Mode ) ; double getBalance ( ) { return balance ; } } 5.2.2 域的继承与隐藏 1. 域的继承 子类可以继承父类的所有非私有域。例如各类电话类所包含的域分别为: Mobile_Phone类 5.2.2 域的继承与隐藏 IP_Phone类 5.2.2 域的继承与隐藏 Ordinary_phone类 5.2.2 域的继承与隐藏 2. 域的隐藏 子类重新定义一个与从父类继承来的域变量完全相同的变量,称为域的隐藏。即子类中定义了与父类同名的域变量,就是子类变量对同名父类变量的隐藏。这里所谓隐藏是指子类拥有了两个相同名字的变量,一个来自继承父类,另一个由自己定义。在这种情况下,当子类执行继承的父类方法时,处理的是父类的变量,而当子类执行它自己定义的方法时,所操作的就是它自定义的变量,而把来自继承父类的变量“隐藏”起来了。 5.2.2 域的继承与隐藏 5.2.2 域的继承与隐藏 5.2.3 方法的继承与覆盖 1. 方法的继承 父类的非私有方法可以被子类所继承。根据方法的继承关系,将例5.3中电话类及其各子类所包含的方法列举如下。 (1)Telephone类 abstract boolean charge_Mode(); double getBalance(); (2)Fixed_Telephone类 abstract boolean

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档