收藏 分享(赏)

单继承.doc

上传人:j35w19 文档编号:8859296 上传时间:2019-07-14 格式:DOC 页数:3 大小:38KB
下载 相关 举报
单继承.doc_第1页
第1页 / 共3页
单继承.doc_第2页
第2页 / 共3页
单继承.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、ITjob 就业培训,九年一剑,100%就业率打造 IT 培训行业第一品牌itjob 教程网ITjob 九年专注企业 IT 人才培养输送单继承(single inheritance)此资料由 itjob 教程网共享,如有转载使用请注明出处单继承(single inheritance)在面向对象一章中我们学习了 OO 的特征之一:继承,我们已知,任何面向对象的语言必然实现了继承这一特性,java 也不例外,但是,我们应该注意的是,java 和某些面向对象语言(如 c+)在实现继承的不同之处在于 java 只支持单继承,不支持多重继承。即,java 中一个类只能继承于另一个类。我们将被继承的类称之

2、为父类(基类) ,继承类称之为子类(派生类) 。在 java 中用关键字 extends 来实现单继承,语法如下:class subclass extends superclass.在前面所讲已知,实现继承关系的类之间有着必然的联系,不能将不相关的类实现继承,就象人类不能继承于鸟类!那怎么去判断类和类之间是否有着必然联系呢?实际上,在第一章里面,我们已知当某类 A 和类 B 之间有着共同的属性和行为时,那么类 A 和类 B 之间就可能是继承关系或者有着共同的父类。下面,假设我们开发某公司的员工管理系统,已知类 Manager 和类Employee,代码如下:class Employeepubl

3、ic String f_name;public String l_name;public float salary = 0.0f;public String getEmpDetails()class Managerpublic String f_name;public String l_name;public float salary;public String dept;public String getEmpDetails()通过分析得知,在类 Employee 和类 Manager 中存在许多共同的属性和行为,在现实生活中,Manager 是公司 Employee 之一,因此,我们可以将

4、Manager 类定义成 Employee 类的子类,修改类 Manager 如下:ITjob 就业培训,九年一剑,100%就业率打造 IT 培训行业第一品牌itjob 教程网ITjob 九年专注企业 IT 人才培养输送class Manager extends Employeepublic String dept;public String getEmpDetails()return “This is Manager!“;UML 中类图表示为:大家可能会质疑:Manager 类重新定义后,原有的属性减少了(f_name,f_name,salary),岂不是违背了需求?!当类 A 继承于类 B

5、 时,子类 A 拥有父类 B 的所有成员变量和方法,换句话说,子类继承了父类的所有成员属性和方法,在父类中已定义的属性和方法,在子类中可以无需定义( 除非方法覆盖 )。所以,在子类 Manager 中已继承了父类 Employee 中的属性和方法,无需再定义在父类中已有的属性(f_name,f_name,salary)。好,我们已经学会了基本的继承语法,下面就来探讨一下继承带来的一些好处:a.减少代码冗余从上面的例子就可以看出,类 Manager 通过继承而无需再定义属性(f_name,f_name,salary),从而减少了代码量,试想一下,当公司员工分为许多不同级别员工时( 如定义秘书、工

6、程师、 CEO 等员工类) ,如果没有继承,那将是怎样的结果?b.维护变得简单假设公司要求给所有员工添加生日这一属性,那么,在没有继承时,我们的维护将变得困难( 需修改每一个级别的员工类 )。c.扩展变得容易当一个新的级别员工类需创建时,我们只需将该类继承所有员工父类Employee,接着再定义属于该员工的特有属性即可。ITjob 就业培训,九年一剑,100%就业率打造 IT 培训行业第一品牌itjob 教程网ITjob 九年专注企业 IT 人才培养输送当然,以上所举例子只是继承带来的好处的部分体现,在下面的学习中我们将逐渐深入体会继承带来的优势。小测试:以下代码是否正确?class B.cl

7、ass C.class D.class A extends B,C,D.java 中一个类只能继承一个类,但一个类可以被多个类所继承。如:class Engineer extends Employee.class Secretary extends Employee.class Manager extends Employeepublic String dept;.以上三个不同类分别继承了 Employee 类,即三个类拥有从父类继承过来的共同属性和方法。但是,请注意:这仍旧是单继承!以 UML 类图表示为:提醒:构造方法不能被继承!一个类得到构造构造方法只有两种途径:自定义构造方法;使用 JVM 分配的缺省构造方法。但是,可以在子类中访问父类的构造方法,后面我们会深入。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报