第8章动物类派生——继承及多态.ppt

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

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

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

1亿VIP精品文档

相关文档