04_继承与多态.pptVIP

  1. 1、本文档共31页,可阅读全部内容。
  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文档。上传文档
查看更多
04_继承与多态

其他 关于单子模式 课后问题 例子Mydate.java * Java语言 程序设计 Java 语言 程序设计 主讲教师:梁建勇 4 继承与多态 4.0 本章内容 继承的概念、继承中的权限控制 子类对象构造过程 继承中方法重载与重写 super关键字 多态 instanceof运算符 抽象类与接口 内部类与匿名类 4.1 继承的概念 继承(inheritance)是面向对象的程序设计中最为重要的特征之一。 在Java语言中,可以从已有的类派生出新类,这叫继承(inheritance)。 由继承而得到的类为子类(subclass),被继承的类为父类或超类(superclass)。 一个类只能有一个直接父类。 4.1 继承的概念 子类继承父类的状态和行为,同时也可以修改父类的状态或重载父类的行为,并添加新的状态和行为。 Java语言是通过extends关键字实现类的继承的,格式如下。 public class subClass extends supeClass { //...... } 4.2 继承中的权限控制 继承总是发生在子类与父类之间,子类访问父类内容存在权限问题,访问权限与子类与父类是否在同一个包中有关。 (1)若父类和子类在同一包(目录)下,子类不能访问父类的private私有成员,可访问默认成员、protected保护成员、public公有成员。 (2)若父类和子类在不同包(目录)下,子类不能访问父类的private私有成员、默认成员,可访问protected保护成员、public公有成员。 示例: 4.3 子类对象构造过程 子类对象的构造过程和继承紧密相关。当构造一个子类对象时,先构造一个父类对象。 也可以说,子类对象包含父类对象。 例:父类和子类构造方法调用顺序示例。TestConstruct.java 4.4 继承中方法重载与重写 1.域的继承 子类可以继承父类的所有域. Student自动具有Person的属性(name,age) . 2. 域的隐藏 子类重新定义一个与从父类那里继承来的域变量完全相同的变量,称为域的隐藏。域的隐藏在实际编程中用得较少。 3.域的添加 方法的继承 父类的非私有方法也可以被子类自动继承。 方法的覆盖 子类也可以重新 定义与父类同名的方法,实现对父类方法的覆盖(Overriding)。 方法的添加 子类可以新加一些方法。 4.4 继承中方法重载与重写 实例: ProjectManager.java 4.4 继承中方法重载与重写 方法重载是指一个类中的多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。父类有自己的重载方法,子类也可以有自己的重载方法。 方法重写在子类继承父类的过程中发生,一定要保证子类方法的名字、类型、参数个数与类型同父类的某个方法完全相同。 在继承过程中,子类重写父类方法时不可以降低访问权限。也就时说,子类继承父类时,子类方法的权限范围不能小于父类方法的权限范围 4.5 super关键字 super可以理解为当前子类的父类对象,通过super关键字能访问父类可见的变量和方法。 super在构造方法中的作用。 TestSuper.java 使用super实现子类访问父类 同名成员变量. 4.6 多态(概念) 多态(polymorphism)就是程序中同一操作在不同的环境中有不同语义解释的现象,它提供了程序代码对不同处理环境的适应能力。 方法多态: 方法多态主要指方法的重载与重写。 View.java Distance.java 逻辑多态: 动态绑定; 上溯造型; 父类引用指向子类对象; 4.6 多态(思想) 多态为什么是面向对象程序的重要特性? 利用多态,编制求圆和矩形面积的类,并编制测试类。 TestRC.java 逻辑多态思想示例分析 假设生产小汽车有四个步骤:钢板切割、压模、组装、喷漆。但是生产每种小汽车具体步骤内容又有所不同。若有100种小汽车,则计算机仿真的生产过程描述如下。 car.java TestCar.java 4.6 多态(核心) 父类对象与子类对象的转换 类似于基本数据类型数据之间的强制类型转换,存在继承关系的父类对象和子类对象之间也可以在一定条件下相互转换。父类对象和子类对象的转化需要遵循如下原则。 (1) 子类对象可以被视为其父类的一个对象,如一个Student对象也是一个Person对象。 (2) 父类对象不能被当做其某一个子类的对象。 (3) 如果一个方法的形式参数定义的是父类对象,那么调用这个方法时,可以使用子类对象作为实际

文档评论(0)

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

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

1亿VIP精品文档

相关文档