Java核心技术上继承.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象的三大特征 面向对象的程序设计有三大特征: 封装:解决了数据的安全性问题 继承:解决了代码的重用问题 多态:解决了程序的扩展问题 继承的概念 在现实生活中的继承,可以理解为儿子继承了父亲的财产,即财产重用; 面向对象程序设计中的继承,则是代码重用; 继承是利用现有的类创建新类的过程,现有的类称作基类(base class)、超类(superclass)或父类(parent class),创建的新类称作派生类(derived class)、子类(child class)。 最高层是最普遍的、最一般的情况,往下每一层都比上一层更具体,并包含有高层的特征,通过这样的层次结构使下层的类能自动享用上层类的特点和性质; 继承其实就是自动地共享基类中成员属性和成员方法的机制。 在Java中实现继承 在Java中实现继承需要使用到extends关键字; 实现继承的一般语法是: [访问修饰符] class 派生类名 extends 基类名 { 成员列表 } 如: class Student extends Person { …… } class Person { //定义人类 public String mName; //姓名 public int mAge; //年龄 public void dining() { System.out.println(吃饱了...); } //吃饭的方法 } class Student extends Person { //学生类继承于人类 public float mGrade; //成绩 public void examination() { System.out.println(考试及格了...); } //考试的方法 } class Teacher extends Person { //教师类继承于人类 public float mSalary; //薪水 public void prelection() { System.out.println(上课很累...); } //上课的方法 } public class InheritanceDemo { //该类用于容纳main方法 public static void main(String[] args) { Student std = new Student(); //实例化学生对象 std.mName = 张三; std.mAge = 18; //为姓名和年龄赋值,访问的是父类中的成员 std.dining(); //调用吃饭的方法,访问的是父类中的成员 std.examination(); //调用考试方法,访问的是子类中的成员 Teacher tea = new Teacher(); //实例化教师对象 tea.mName = 陈伟; tea.mAge = 38; tea.dining(); tea.prelection(); } } 继承的作用 当今软件设计的特征: 软件规模越来越大; 软件设计者越来越多; 软件设计分工越来越细。 引入继承,实现了代码重用; 引入继承,实现了递增式的程序设计。 继承的作用(续) 继承是能自动传播代码和重用代码的有力工具; 继承能够在某些比较一般的类的基础上建造、建立和扩充新类; 能减少代码和数据的重复冗余度,并通过增强一致性来减少模块间的接口和界面,从而增强了程序的可维护性; 能清晰地体现出类与类之间的层次结构关系。 与继承有关的注意事项 继承是单方向的,即派生类可以继承和访问基类中的成员,但基类则无法访问派生类中的成员; 在Java中只允许单一继承方式,即一个派生类只能继承于一个基类,而不能象C++中派生类继承于多个基类的多重继承方式。 继承中的构造方法 父类中的构造方法不能被子类继承,即便它是public的; 父类的构造方法负责初始化属于它的成员变量,而子类的构造方法则只需考虑属于自己的成员变量,不必去关注父类的情况。 继承中的构造方法示例 构造方法的执行顺序 当实例化子类的对象时,必须先执行父类的构造方法,然后再执行子类的构造方法; 如果父类还有更上级的父类,就会先调用最高父类的构造方法,再逐个依次地将所有继承关系的父类构造方法全部执行; 如果父类的构造方法执行失败,那么子类的对象也将无法实例化。 例子 class Employee{ private String name; private double

文档评论(0)

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

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

1亿VIP精品文档

相关文档