首页 > 代码库 > 面对对象特征之继承

面对对象特征之继承

1.什么是继承?

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

2.继承的目的

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

3.继承的影响

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

4.继承的限制

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

5.使用条件

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

6.接口继承

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

面对对象特征之继承