Java继承与多态的.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java继承与多态的

第5章 继 承 与 多 态 继承性与多态性是面向对象程序设计的另外两个重要特性。在Java语言中,提供了能够实现继承性与多态性的完备技术,这使得更多的人们愿意将Java作为软件开发语言,进而充分地施展面向对象抽象性、封装性、继承性与多态性的优势,为构筑新时代的软件开发理念奠定了坚固基础。 目 录 5.1 类的继承 5.2 类成员函数的重载与覆盖 5.3 抽象类 5.4 接口 5.5 包 5.6 综合应用举例 5.1 类的继承 继承机制是面向对象程序设计不可缺少的关键概念,是实现软件可重用的根基,是提高软件系统的可扩展性与可维护性的主要途径。所谓继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用,在有些教材中,又将父类称为超类或者基类。 继承关系的UML图形符号表示法 两个类的继承关系可以用“is a”表示,即子类是父类所描述的实体集中的子集。也就是说,父类涵盖更加共性的特征,更加具有一般性,子类增加的内容更加具有个性,是一般性之外的特殊内容,因此,又可以说,这种类的继承关系充分地反映了“一般与特殊”的关系。 5.1.1 定义子类 在Java语言中,定义子类的语法格式为: [修饰符] class 子类名 extends 父类名 { 子类体 } 其中,“修饰符”是子类的访问特性说明符等;class为定义类的关键字,“子类名”是子类的名称;extends是关键字,“子类体”是子类在继承父类内容的基础上,添加的特有内容。 EmployeeClass类与ManagerClass类的关系图 // file name:EmployeeClass.java public class EmployeeClass { // 雇员类 private String name; // 姓名 private double salary; // 工资 private String department; // 部门 public EmployeeClass() { ... } public EmployeeClass(String name, double salary, String department){ ... } public void setName(String name) { ... } public void setSalary(double salary) { ... } public void setDepartment(String department) { ... } public String getName() { ... } public double getSalary() { ... } public String getDeparyment() { ... } public String toString() { ... } } public ManagerClass extends EmployeeClass { // 经理类 private double special; // 特殊津贴 public ManagerClass() { ... } public ManagerClass(String name, double salary, String department, double special) { ... } public void setSpecial(double special) { ... } public double getSpecial() { ... } public String toString() { ... } } 举例:设计与几何图元有关的类。 问题分析:几何图元是指可以绘制的基本几何图形,例如矩形、正方形、圆形、多边形等。鉴于篇幅的考虑,这里只考虑矩形与正方形。 假设任何几何图元都有颜色与位置两个属性,因此应该将这些共有特性定义在一个类中,它是顶层类;而矩形还应该有长、宽两个属性,由于矩形是一种几何图元,所以它自然应该拥有几何图元的共有特性,因此可以将矩形类设计为几何图元类的子类;因为正方形是一种特殊的矩形,它的特殊性在于长与宽相等,所以应该将正方形类设计为矩形的子类。 ShapeClass类、RectangleClass类与 SquareClass类之间的关系类图 ShapeClass类是几何图元的通用类;矩形是一种特定的几何图元,因此,RectangleClass类应该是ShapeClass的子类;正方形

文档评论(0)

ayangjiayu5 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档