为何多用组合少用继承?如何决定该用组合还是继承?

为何要少用继承

  1. 继承层次过深、过复杂,会影响到代码的可维护性
  2. 可能会违背最小知识原则(迪米特法则),暴露不该暴露的接口给外部,增加了类使用过程中被误用的概率

如何决定该用组合还是继承

如果

  • 类之间的继承结构稳定(不会轻易改变)
  • 继承层次比较浅(比如,最多有两层继承关系)
  • 继承关系不复杂

我们就可以大胆地使用继承;

反之

  • 系统越不稳定
  • 继承层次很深
  • 继承关系复杂

就尽量使用组合来替代继承。

如何用组合替换掉继承

通过组合、接口、委托,可完全替换掉继承

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。