继承问题引出和实现
面向对象的第二大特征就是继承性,继承性的主要特点在于:可以扩充已有类的功能
继承问题的引出:
所谓的良好的代码指的是结构性强、适合于维护、可重用性很高,但是如果现在只是按照我们之前的定义,那么不可以避免要面对重复问题
下面定义两个类:人类、学生类,如果按照传统定义,则结构如下:
Person.javaStudent.java
文章图片
Person.java
文章图片
Student 可以发现代码重复;
继承的实现
extends
class 子类 extends 父类{
}
特别需要注意的是,很多情况下会把子类称为派生类,把父类称为超类
范例:继承
文章图片
继承 所以此时的子类即便没有定义任何的操作,那么也可以直接通过父类继承而来的方法来实现相应的功能,而这个时候的内存关系如下:
文章图片
内存分析 继承实现的主要目的是在于子类可以重用父类中的结构,并且也可以实现功能的扩充 ,同时强调了子类可以定义更多的内容,并且描述的范围更小;
【继承问题引出和实现】
文章图片
如果此时继续讨论内存关系,则就会出现两个范围的属性了(Person父类范畴、Student子类范畴 );
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- jhipster|jhipster 升级无效问题
- “精神病患者”的角度问题
- 解决SpringBoot引用别的模块无法注入的问题
- Hive常见问题汇总
- 姚老师互动问答会|姚老师互动问答会 # 问题001(如何更有智慧的和身边人分享金刚智慧())
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- 【教育故事】|【教育故事】 一个“问题学生”的蜕变
- 蓝桥杯试题
- 记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片