面对对象继承的优点和缺点
什么是继承?
之前跟大家讲过什么是继承但是,大家可能都不太理解,所以我重新用更简短的话,更明白的话让大家明白什么是继承,继承是面对对象的三大特征之一,这些大家都知道,继承是描述两个类文件之间的关系,被继承的称之为父类,继承的类称之为是子类,使用extends关键字来表示,在java语言里面只支持一个单继承,也就是一个子类只可以继承一个父亲,但是不能有多个父亲,就像我们人一样,只有一个有血缘关系的父亲,子类可以调用父类里面的private修饰的成员方法或者成员变量,但是要注意一点,构造方法不能被继承,java里的继承和现实里的继承差不多,现实中儿子只有一个有血缘关系的父亲,儿子可以继承父亲的家产,房产,财产。如果一个类没有继承别的类那么系统就会默认继承一个祖宗类object这个祖宗类 ,object是SUM公司提供的根类,什么是根类的也就是我们的家乡就是我们的根一样,就是在哪出生的
那么继承的优点分别是什么呢:
1.提高了代码的复用性,比如呢就跟上篇随笔说道的手机一样,其实新款手机和旧款相比就是多了一点内容,真正的特性还是保留在旧版手机的东西,也就是说在旧手机的基础上进行更新。
2.提高了维护性
3.让类与类之间产生关系
4.多态的前提就是继承
那么继承又有什么缺点呢:
1.增强了类之间的耦合
2.软件开发的原则是高内聚,低耦合
内聚就是:一个模块内各个元素彼此结合的紧密程度,就比如我们的键盘,都放在一个板面上面,而不是放在多个板,要不太麻烦吗
耦合:是一个软件里面不同模块之间的相互连接的数量,比如呢在用笔记本电脑再看视频,旁边的可乐浇到了键盘上面,修电脑的要拆开里面查看键盘,主板,CPU什么的,这就是高耦合,但是要是洒在外接键盘上就是低耦合,因为要是外接键盘坏了,但是笔记本内部还是好的,所以我们只要换一个外接键盘就好了不用那么麻烦拆开笔记本拆CPU是没什么什么的。
注意:子类不能访问父类里private修饰的东西比如方法变量什么的。