面对对象特征之继承

Posted tonghun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面对对象特征之继承相关的知识,希望对你有一定的参考价值。

1.什么是继承?

使一个类拥有另一个类全部公开的属性与行为的一种机制。

2.继承的目的

假如一个类拥有另一个类的全部行为与属性,并且这些属性与行为数量较大,同时为其他类所共享,可以将这个类定义为子类去继承另一个类,实现代码复用。

3.继承的影响

子类拥有了父类中非private的方法与属性。

4.继承的限制

  • 构造方法:任何一个类中都有一个默认的无参构造方法,一旦显式地创建了有参构造方法,默认的无参构造方法就被清除。子类的无参与有参构造方法中默认调用父类的无参构造方法,如果父类中不存在无参构造方法,编译无法通过。补充:抽象类中有构造方法,接口中没有构造方法。先初始化成员变量,后调用构造方法。
  • 单继承:在java中一个类只能通过extends关键字继承一个父类。
  • 方法重写:参考http://www.cnblogs.com/tonghun/p/7141790.html
  • 耦合度:子类继承了父类,子类对父类存在较大的依赖,父类发生变化时对子类的影响较大。

5.使用条件

因为一个类只有一次继承机会,而且继承会增加耦合度,出于维护继承机会与降低耦合度的考虑,只有在一个类与另一个类相同的方法较多时,才考虑使用继承,否则可以考虑实现接口,或者采用设计模式,如装饰者模式。

6.接口继承

一个接口可以继承多个接口,这样就拥有其他接口的抽象方法,自身不需要实现这些继承的抽象方法。

以上是关于面对对象特征之继承的主要内容,如果未能解决你的问题,请参考以下文章

面对对象之继承 | Python

javascript面对对象编程 之继承

PHP面对对象总结

PHP面对对象总结

java面对对象

python基础之面对对象