第十章 继承
第十章 继承
学习目标: 如何定义继承 如何声明超类和子类 用代码实现继承 测试继承的有效性 包的定义和使用
学习目标: ➢如何定义继承 ➢如何声明超类和子类 ➢用代码实现继承 ➢测试继承的有效性 ➢包的定义和使用
继承概述 \Employee Manager CSR String name String name String name String address String address String address float salary float salary float salary int number OfReports receivesPayo String headSetType int officer getNameo Manager myMgr float bonus String loginID getAddresso recelvespa receivesPayo getNameO getNameO getAddresso getAddresso hires( clockiNg plans( clocks Out 有重复成员的类
继承概述 有重复成员的类
Employee String name String address float salar receivesPayo getNameO getAddresso 继质使 Manager和 CSR具有了 Employee中的所有 成员。 Manager CSR int numberOfReports String head SetType int officeID Manager my Mgr float bonus String loginID hires clockiNg plans( clocKS ato 继承 Manage和cSR继承 Employee
继承:Manager和CSR继承Employee
继承的定义 个类中定义一些公共成员(变量和方法),其他类 可以扩展该类而共享成员 被扩展的类是:超类或父类 ·继承了的类是:子类 子类的定义格式: [修饰符] class子类名 extends父类名 {类体;} 注意 没有 extends,默认父类为 Object 只能有一个父类,即单继承 子类继承父类的全部成员 类继承具有传递性
继承的定义 • 一个类中定义一些公共成员(变量和方法),其他类 可以扩展该类而共享成员 • 被扩展的类是:超类或父类 • 继承了的类是:子类
I public class Manager extends Employee 1 public class Employee 2 private int nuberofReports: private int officer; the following members are common to Employees public void hires (string newsmployee) Manager, and CSR 7 // method tasks 5 private String name; 6 private String address public void plans ( 7 private float salary / method tasks 13 8 public float receives Pay( 14 and so on 15 urn salary: 1 public class CSR extends Employee private String loginID; 12 public String getName ( 23456789 private String headsetrype private string startTime; private string endTime; private Manager myMgr new Manager() return name public string clocksIn() 10 / method tasks 16 public String getAddress( 11 return startTime: 12 13 public String clocksout ( return address method tasks return endTime: 17 18 查看结果: Employee. java // and so on 19
查看结果:Employee.java
类的继承 在Java中,类是一个层次结构; ·其中有一个被称为 object的特殊超类,所有 的类都直接或间接地继承 object类 子类继承父类的属性和方法,同时也可以修 改父类的属性或重载父类的方法,以及在父 类的基础上添加新的属性和方法。 父类和子类之间反映的是“一般与特殊”的关 系
添加抽象 erson String name String address seaMeo getNameo setAddressO getAddressO Employee Customer float salary String salutation receivesPayo orders complains 继承 Employee和 Custome继承 Person
继承:Employee和Customer继承Person
测试继承 类一次只能继承一个父类(单继承) 使用“是一个(isa)”短语验证继承 Employee、 Manager和CSR示例中继承是 正确的 个 Manage是一个 Employee 个CSR是一个 Employee
测试继承 • 类一次只能继承一个父类(单继承) • 使用“是一个(is a)”短语验证继承 • Employee、Manager和CSR示例中继承是 正确的 ✓一个Manager是一个Employee ✓一个CSR是一个Employee
测试继承 相关类 l public class Shirt 234567 Cha吕ze; 总七工i1 g nate工立a1; float price; 立 nt nunber○fBu1 t tons; //ands∞n l public class Skirt Ca吕ize; 4 总七工 Ing mate工五a1; float pricei int length //anso∞n
测试继承