第8章动物类派生——继承与多态.pptVIP

  • 2
  • 0
  • 约5.82千字
  • 约 30页
  • 2017-05-29 发布于四川
  • 举报
第8章 动物类派生 ——继承与多态 能力目标: 理解类的继承,能编写类及其派生子类。 理解多态含义,理解上转型对象,能在子类中重写父类的同名方法。 能运用继承与多态编写人类派生学生类、动物类派生马类等程序。 内容介绍 8.1 任务预览 8.2 继承与派生 8.3 用protected声明受保护成员 8.4 关键字super 8.5 类类型变量赋值 8.6 多态性 8.7 本章小结 8.8 实训8:人类派生与动物类派生 8.1 任务预览 本章实训程序运行结果: 8.2 继承与派生 计算机世界与自然界一样,类之间也有继承和派生关系。 运用继承与派生能达到代码重用、简化编程的目的。语法: [public] [abstract] [final] class 子类名 extends 父类 { ... } 类的单一继承关系形成了清晰的层次结构,树状图如下: 【例8-1】编写人类。再编写继承人类的学生类,学生类还拥有学号字段和学习方法。构造人类和学生类的对象,输出有关信息。 class Human1 { //人类 protected String name; protected char sex; protected int age; public Human1(String name, char sex, int age) { this.name = name; this.sex = sex; this.age = age; } public void think(){ //思考方法 System.out.println(name + 在思考...); } } class Pupil1 extends Human1 { //继承人类的学生类 protected String stuNo; //学号 public Pupil1(String stuNo, String name, char sex, int age) { super(name, sex, age); this.stuNo = stuNo; } public void learn( ){ … } //学习方法 } public class Example1 { public static void main(String[] args) { Human1 person = new Human1(林冲, 男, 30); person.think(); System.out.println(); Pupil1 aPupil = new Pupil1(001, 李明, 男, 6); aPupil.think(); aPupil.learn(); } } 8.3 用protected声明受保护成员 关键字protected可修饰类的字段和方法,这些成员能被所有派生子类直接或间接继承。 protected修饰的类成员,还能被类所在的包访问。 在例8-1中,使用了关键字protected修饰人类Human1的name、sex和age字段。 虽然protected可以修饰字段,但类的封装性要求除了final常量字段外,其它字段一律应为private。故不可滥用protected修饰字段。 【例8-2】按照类封装性要求改写例8-1,以保证字段为private。 class Human2 { private String name; private char sex; private int age; public Human2(String name, char sex, int age) { … } protected String getName(){ … } public void think(){ … } } class Pupil2 extends Human2 { private String stuNo; public Pupil2(…){ … } public void learn( ){ …} } public class Example2 { public static voi

文档评论(0)

1亿VIP精品文档

相关文档