继承问题引出和实现

面向对象的第二大特征就是继承性,继承性的主要特点在于:可以扩充已有类的功能
继承问题的引出:
所谓的良好的代码指的是结构性强、适合于维护、可重用性很高,但是如果现在只是按照我们之前的定义,那么不可以避免要面对重复问题
下面定义两个类:人类、学生类,如果按照传统定义,则结构如下:
Person.javaStudent.java


继承问题引出和实现
文章图片
Person.java



继承问题引出和实现
文章图片
Student 可以发现代码重复;


继承的实现 extends
class 子类 extends 父类{
}
特别需要注意的是,很多情况下会把子类称为派生类,把父类称为超类


范例:继承


继承问题引出和实现
文章图片
继承 所以此时的子类即便没有定义任何的操作,那么也可以直接通过父类继承而来的方法来实现相应的功能,而这个时候的内存关系如下:


继承问题引出和实现
文章图片
内存分析 继承实现的主要目的是在于子类可以重用父类中的结构,并且也可以实现功能的扩充 ,同时强调了子类可以定义更多的内容,并且描述的范围更小;
【继承问题引出和实现】

继承问题引出和实现
文章图片
如果此时继续讨论内存关系,则就会出现两个范围的属性了(Person父类范畴、Student子类范畴 );

    推荐阅读