继承关系指一个类(称为子类)继承另外的一个类(称为父类)的属性和功能,同时子类结合自身特点增加其特有的新的属性或功能,继承关系是is-a的关系。在Java中继承关系通过关键字extends明确标识。
【例5.2】定义JavaTeacher类,JavaTeacher类包含姓名和所属教学部门属性,包含授课和自我介绍的方法。定义DotNetTeacher类,DotNetTeacher类包含姓名和所属教学部门属性,包含授课和自我介绍的方法。再定义主类Example5_2类,在Example5_2类中测试JavaTeacher类和DotNetTeacher类创建的对象实现两类教师授课的功能。运行结果如图5.1所示。
图5.1 Example5_2类运行结果
Example5_2.java
通过观察在上述例子发现的JavaTeacher类和DotNetTeacher类中存在大量重复代码,如果在上述程序再增加一类数据库老师,则创建的数据库老师的DBTeacher类与JavaTeacher及DotNetTeacher类中仍然存在大量重复代码的问题。(www.daowen.com)
继承可以解决类与类间的代码重复的问题,但是在写类与类间的继承关系时,要求类与类之间存在“is-a”的关系,如Java老师是老师的一类,.net老师是老师的一类,因此上例可以把JavaTeacher和DotNetTeacher中的重复代码抽象出一个Teacher类,JavaTeacher和DotNetTeacher再从Teacher类继承,以解决代码的复用问题。
【例5.3】通过继承关系使JavaTeacher及DotNetTeacher从Teacher类继承,再实现例5.2中的教师授课功能。
Example5_3.java
当类与类之间存在is-a的关系时,可以用继承进行描述,通过子类继承父类可以减少类与类之间的重复代码。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。