设计原则:和继承相比,更推荐使用组合
英文名字
Favor composition over inheritance.
说明
继承的优点
- 继承是多态的基础(在静态语言中),也是继承的主要目的。
- 继承能带来一定的重用,但重用不是继承的主要目的。
继承的缺点
- 编译时绑定。
- 强耦合。
组合的优点
- 运行时绑定。
- 弱耦合。
- 复用。
组合的缺点
- 不支持多态。
备注
组合和继承可以一起使用,并不冲突,组合模式、代理模式、装饰者模式就是这种思想的经典应用。
Favor composition over inheritance.
组合和继承可以一起使用,并不冲突,组合模式、代理模式、装饰者模式就是这种思想的经典应用。