网站大量收购闲置独家精品文档,联系QQ:2885784924

Java面向对象程序设计课件作者邹蓉电子教案第6章节继承与多态.ppt

Java面向对象程序设计课件作者邹蓉电子教案第6章节继承与多态.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.3.2 抽象类 【例6-3】抽象类的使用 PractitionerAbstract.java,DriverA.java,SalespersonA.java,PractitionerAbstractTest.java 6.3.2 抽象类 使用抽象类时有一些需要注意的地方: 包含了抽象方法的类必须是抽象类,没有包含抽象方法的类也可以是抽象类 抽象类不能被实例化,即使定义了构造方法,但可以引用被实例化的子类对象 能被实例化的子类必须实现抽象类声明的所有抽象方法,否则子类仍然是抽象类 抽象方法不能使用private、static和final修饰符 6.3.2 抽象类 从面向对象的角度来看,抽象类统一了子类操作的接口格式,并能实现多态性特征 尽管使用普通类和抽象类都可以实现多态,但由于抽象类限定了子类行为接口,体现了对现实世界更高层次的抽象,使用它来实现类的多态更加规范、统一,便于程序的维护和管理 6.3.3 接口 单重继承与多重继承 6.3.3 接口 接口机制 6.3.3 接口 声明接口: [Modifiers] interface InterfaceName [extends InterfaceList] { InterfaceBody } InterfaceBody接口体包含默认为public static final的常量和默认为public abstract的抽象方法,也可以显式声明类型 6.3.3 接口 声明实现接口的类: [Modifiers] class ClassName [extends SuperClassName] implements InterfaceList { ClassBody } 6.3.3 接口 【例6-4】接口的使用 Minor.java,Adult.java,Pupil.java,Worker.java,WorkStudent.java,InterfaceTest.java 6.3.3 接口 6.3.3 接口 接口实现了比抽象类更高的抽象层次,同时也提供了比抽象类更多的灵活性: 抽象类表示一种继承关系,一个类只能有一个直接父类,却可以实现多个接口 抽象类中可以成员变量,也可以有非抽象方法,接口中却只能有常量和抽象方法 抽象类和接口反映不同的设计理念,抽象类表示“is-a”关系,而接口表示“like-a”关系 6.4 应用实例:平面几何图形基本类层次设计 【例6-5】平面几何图形基本类层次设计 Shape.java,Circle.java,Triangle.java,Rectangle.java,Square.java,ShapeTest.java 6.4 应用实例:平面几何图形基本类层次设计 尚辅网 / 6 继承与多态 6.1 引例:对Person类的继承 6.2 类的继承 6.3 类的多态 6.4 应用实例:平面几何图形基本类层次设计 6.1 引例:对Person类的继承 【例6-1】对Person类的继承 Person.java,Student.java,StudentTest.java 6.2 类的继承 6.2.1 Object类 6.2.2 子类 6.2.3 成员的隐藏与重载 6.2.4 最终类 6.2 类的继承 6.2 类的继承 在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“is-a”关系,即子类对象也是其父类对象 Employee 是一个人,Manager 也是一个人,因此这两个类都可以继承 Person 类 Leg 类却不能继承 Person 类,因为腿并不是一个人 6.2.1 Object类 Java的类层次结构中,Object类是根类,所有其它类都直接或间接继承自它 定义类时,如果没有指明父类,则该类的父类就是Object 6.2.1 Object类 作为根类,Object类定义了所有对象都应该具有的基本状态和行为,包括数组在内的所有对象都实现它的方法 Object类提供了若干成员方法,子类可以直接调用,非final方法还可以根据需要重写,即覆盖 6.2.1 Object类 6.2.1 Object类 用户通常需要覆盖equals()和toString()方法,以便根据对象的特殊性进行比较和获取对象内容的字符串表示 另外,Java建议用户覆盖hashCode()方法,因为Object及其他标准类的某些方法会隐含对它的调用 6.2.2 子类 定义子类: [Modifiers] class ClassName extends SuperClassName { ClassBody } 例如: public class Student extends Person { ... } 6.2.2 子类 继承具有“is-a”的

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档