知识卡片
少付继承税
内容
继承会把类型层次、实现细节和未来扩展绑在一起,改动成本常被低估。接口、委托和 mixin 更强调组合关系,通常能以更小耦合获得复用。
参考来源
- 位置:《程序员修炼之道:通向务实的最高境界(第2版)》第5章《宁弯不折》话题31「继承税」(源文件:_epub-src/text/part0014_split_004.html)
- 结论依据:原文指出继承会让子类耦合到父类实现细节(如父类改名会静默破坏子类),并推荐接口、委托、mixin三种替代方案,直接支持卡片论点。
- 原始内容:"继承就是耦合。不仅子类耦合到父类,以及父类的父类等,而且使用子类的代码也耦合到所有祖先类。……提示51 不要付继承税……让我们推荐三种技术,它们意味着你永远不需要再使用继承:接口与协议、委托、mixin与特征。"