类的封装继承和多态9精要.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Java程序设计实用教程(第4版)》 * 子类的构造方法没有调用super()或this(),将默认执行super() public Person() { super(); //调用父类构造方法Object() } public Student() { super(); //默认调用 speciality=; } 《Java程序设计实用教程(第4版)》 * 图3.7 子类构造方法逐个执行成员对象和父类的构造方法 《Java程序设计实用教程(第4版)》 * super引用 调用父类的构造方法 super([参数列表]) 引用父类同名成员 子类隐藏父类成员变量 super.成员变量 子类覆盖父类成员方法 super.成员方法([参数列表]) 《Java程序设计实用教程(第4版)》 * 3.4 类的多态性 3.4.1 子类重定义父类成员 3.4.2 类型的多态 3.4.3 编译时多态和运行时多态性 3.4.4 多态的方法实现 《Java程序设计实用教程(第4版)》 * 3.4.1 子类重定义父类成员 子类隐藏父类成员变量 子类覆盖父类成员方法 覆盖(override)是指子类声明并实现父类中的同名方法并且参数列表也完全相同。 子类继承并重载父类成员方法 重载(overload)是指同一个类中的多个方法可以同名但参数列表必须不同。 《Java程序设计实用教程(第4版)》 * 【例3.5】 Student类重定义从父类继承来的成员。 《Java程序设计实用教程(第4版)》 * 3.4.2 类型的多态 子类对象即是父类对象 new Student() instanceof Person //true new Person() instanceof Student //false 父类对象引用子类实例 Person p = new Student(); //赋值相容 Student s = new Person(); //语法错 Object obj = new Person(); //赋值相容 《Java程序设计实用教程(第4版)》 * 3.4.3 编译时多态和运行时多态性 编译时多态性 方法重载都是编译时多态。 方法覆盖表现出两种多态性,当对象引用本类实例时,为编译时多态,否则为运行时多态。 Person p = new Person(……); p.toString() //执行Person类的toString() Student s= new Student(……); s.toString() //执行Student类的toString() 《Java程序设计实用教程(第4版)》 * 2. 运行时多态性 图3.9 寻找(new Student()).toString()匹配的执行方法 《Java程序设计实用教程(第4版)》 * 3.5 类的抽象性 3.5.1 用继承刻画包含关系 3.5.2 抽象类 3.5.3 最终类 《Java程序设计实用教程(第4版)》 * 3.5.2 抽象类 声明抽象类与抽象方法 public abstract class ClosedFigure //闭合图形抽象类 { public abstract double area(); //计算面积,抽象方法,以分号;结束 } 《Java程序设计实用教程(第4版)》 * 3.5.3 最终类 声明最终类,不能被继承 public final class Math //数学类,最终类 public class MyMath extends Math //语法错 public final class Circle extends Ellipse //最终类 声明最终方法,不能被子类覆盖 public class Circle extends Ellipse //非最终类 { public final double area() //最终方法 } 《Java程序设计实用教程(第4版)》 * 面向过程和面向对象的编程 《Java程序设计实用教程(第4版)》 * 面向过程: 多人协作,很难上手,需熟悉代码 管理代码麻烦,不易扩充,难维护 软件危机,管理上有难度。 面向对象: 采用结构体方式管理变量 扩展了结构体,带类的C(c++) JAVA 也称为是C++-,源于C++ 《Java程

文档评论(0)

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

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

1亿VIP精品文档

相关文档