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

新Java面向对象程序设计 教学课件 梁燕来 程裕强 第4章 继承与多态.ppt

新Java面向对象程序设计 教学课件 梁燕来 程裕强 第4章 继承与多态.ppt

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章继承与多态 主讲人:程裕强 本章学习目标 理解继承机制 掌握Java类的继承定义 掌握子类对象的构造过程 掌握不同权限符的继承性 掌握成员覆盖,重点是方法重写 掌握final用法 理解多态概念,掌握两种方法多态 掌握抽象类的定义与使用 掌握接口的定义与实现,理解接口与抽象类的异同 掌握抽象类与接口相关的方法多态 掌握Object类 阅读三个改进的数据结构类 了解匿名类 4.1 引例 在第3章我们运用面向对象的思想定义了5个版本的Person类,成功得将Person的属性和操作封装起来。 实际上,Person类具有许多属性和方法,比如人具有身份证号、性别、民族等属性,代码如下。 假设现在需要定义一个学生类型,除了具有人的属性外,还具有学号、专业、班级等属性,Student类代码如下。 public class Person{ //人的属性 public String pid; //身份证号 public String name; //姓名 public boolean sex; //性别 public int age; //年龄 public int nation; //民族 public String address; //地址 //构造器 public Person(){} public Person(基本参数{...} public Person(全部参数){...} //人的一个行为动作 public void speak(){ //说话...} } public class Student{ //人一般属性 public String name; //姓名 public boolean sex; //性别 public int age; //年龄 public String pid; //身份证号 public int nation; //民族 public String address; //地址 // 学生特有的属性 public String sid; //学号 public String major; //专业 public String school; //学校 public String classname; //班级 //构造器 public Student(){} public Student(基本参数){...} public Student(全部参数) {...} //人的一般方法 public void speak(){//说话...} //学生特有操作 public void study() {//学习...} }   从上面的代码很容易发现,Student类与Person类代码重复过多。 再假设现在需要定义“研究生”类,那么属性定义要分为“人的属性”、“学生的属性”和“研究生”专有属性。重复的代码会更多。 学生是一类特殊的人,具备人的基本属性和功能,所以Student类应该是一个特殊的Person类。 每当出现一个新概念时,我们只能从零开始创建这个类吗?是否可以在现有类的基础上创建新的类呢,如何才能更好的实现代码复用?这些问题摆在我们面前,如何解决呢? 4.2 继承机制 在现实世界许多新生事物并不是凭空产生的,往往是建立在原有事物基础上的。比如我们今天使用的汉字就是继承甲骨文发展而来的,无线电话是建立在有线电话基础上的,相对论继承发展了经典力学等等。继承发展是自然界(包括人类社会)的一大自然规律,新的发展不是对前者的否定,而是继承与发展,这与唯物辩证法是一致的。 Java是面向对象的语言,具有继承机制。继承是根据现有类创建新的类的机制,由继承而得到的新类称为子类或派生类,被继承的类称为父类或者基类。子类可以从父类继承属性和方法。 Java是单继承,也就是只有一个父类,所以关键字extends是第三人称单数。如一个类的定义没有使用extends,系统默认该类继承Object类。也就是Java中所有的类都是Object类的子类。 类继承格式如下 修饰符 class 子类名 extends 父类名{ 类成员; } 运用Java继承机制来改进引例中的Student类 public class Student2 extends Person { // 学生的属性 public String sid;

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档