原则
继承是复用,组合是控复杂,两者要会取舍
类一复杂,就必须学会拆关系,而不是继续往一个类里硬塞。
原则释读
继承很方便,但组合常常更稳。作者用电池类拆分电动车,就是在示范如何避免类膨胀。
为什么重要
复杂度管理决定 OOP 能不能真正帮到你。
怎么用到自己的知识系统
遇到类变胖时优先考虑能不能抽出协同对象。
行动规则
- 继承表达‘是一种’。
- 组合表达‘拥有一个’。
- 优先可维护性。
常见误区
- 滥用继承层级。
- 类胖了还一直加方法。
辨析题
为什么组合常被认为比继承更灵活?
因为它让你按部件组织能力,而不是被层级关系绑定太死。