继承问题引出和实现

面向对象的第二大特征就是继承性,继承性的主要特点在于:可以扩充已有类的功能

继承问题的引出:

所谓的良好的代码指的是结构性强、适合于维护、可重用性很高,但是如果现在只是按照我们之前的定义,那么不可以避免要面对重复问题

下面定义两个类:人类、学生类,如果按照传统定义,则结构如下:

Person.java      Student.java


Person.java



Student

可以发现代码重复;


继承的实现

extends

class 子类 extends 父类{

}

特别需要注意的是,很多情况下会把子类称为派生类,把父类称为超类


范例:继承


继承

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


内存分析

继承实现的主要目的是在于子类可以重用父类中的结构,并且也可以实现功能的扩充 ,同时强调了子类可以定义更多的内容,并且描述的范围更小;


如果此时继续讨论内存关系,则就会出现两个范围的属性了(Person父类范畴、Student子类范畴 );

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容