继承问题引出和实现
2018-08-18 本文已影响0人
熊与花
面向对象的第二大特征就是继承性,继承性的主要特点在于:可以扩充已有类的功能
继承问题的引出:
所谓的良好的代码指的是结构性强、适合于维护、可重用性很高,但是如果现在只是按照我们之前的定义,那么不可以避免要面对重复问题
下面定义两个类:人类、学生类,如果按照传统定义,则结构如下:
Person.java Student.java
Person.java Student可以发现代码重复;
继承的实现
extends
class 子类 extends 父类{
}
特别需要注意的是,很多情况下会把子类称为派生类,把父类称为超类
范例:继承
继承所以此时的子类即便没有定义任何的操作,那么也可以直接通过父类继承而来的方法来实现相应的功能,而这个时候的内存关系如下:
内存分析继承实现的主要目的是在于子类可以重用父类中的结构,并且也可以实现功能的扩充 ,同时强调了子类可以定义更多的内容,并且描述的范围更小;
如果此时继续讨论内存关系,则就会出现两个范围的属性了(Person父类范畴、Student子类范畴 );