10.组合vs继承

2020-10-26  本文已影响0人  转岗做JAVA
1. 为什么不推荐使用继承?

虽然继承可以解决代码复用等的问题,但如果继承层次过深、过复杂,也会影响到代码的可维护性,而且实际场景下往往对象都会有某些特性,而导致基类分的越来越细,继承层次越来越深。

2. 为什么推荐使用组合?

上面的问题可以通过组合、接口和委托解决。利用接口抽象出行为定义,通过组合不同的行为来定义具体对象的所有行为,对于通用的行为,可以定义具体实现类实现,并将具体对象的通用行为委托给具体的实现类,以提高代码的复用性。

接口+组合+委托符合矢量化思想,即将物体的特征划分为多个独立变化的维度,互不影响。

3. 如何判断该用组合还是继承?
上一篇 下一篇

猜你喜欢

热点阅读