- 1、本文档共93页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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;
您可能关注的文档
- 新Java编程与应用教程 教学课件 张莉 java_03.ppt
- 新Java编程与应用教程 教学课件 张莉 java_11.ppt
- 新Java程序设计 第二版 普通高等教育“十一五”国家级规划教材 教学课件 朱喜福2 1_ 第7章 Java的图形与用户界面.ppt
- 新Java程序设计 第二版 普通高等教育“十一五”国家级规划教材 教学课件 朱喜福2 第3章 类、类的继承和接口.ppt
- 新Java程序设计教程 工业和信息化普通高等教育“十二五”规划教材 教学课件 段新娥 贾宗维 2_ chap9.ppt
- 新Java程序设计教程 教学课件 杨晓燕 java9.ppt
- 新Java程序设计教程 教学课件 杨晓燕 Java11.ppt
- 新Java程序设计教程 教学课件 张克军 陆迟 孙海伦 庞丽娜 第10章 网络程序设计.ppt
- 新Java程序设计教程 项目式 教学课件 李桂玲 P1 1 1程序的运行环境.ppt
- 新Java程序设计实例教程教学课件 刘志成 ch05_Java图形用户界面技术.PPT
最近下载
- 2024-2025学年全国中学生天文知识竞赛考试题库(含答案).pdf VIP
- 2024届福建省莆田市高三第二次教学质量检测二模生物试卷.doc VIP
- 电梯维修及维护人员的安全知识与技能培训课件.pptx VIP
- 小学新教育实验实施方案(详细).docx
- 23中英文双语单片机车辆防碰撞外文文献翻译:基于超声波与单片机嵌入式系统开发集成应用的汽车防撞系统设计.doc VIP
- 八年级数学上册《分式》教案教材分析.pdf VIP
- 大华DSS5000系列-客户端操作手册-.docx
- 2013款上汽通用别克君越_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf
- 人教版数学二年级下册全册教学课件(2023年新教材).pptx
- 越人歌-钢琴伴奏谱.pdf
文档评论(0)