企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
在最后一章里,我将介绍面向对象编程技术里最为人熟知的一个特性:继承。与任何强有力的特性一样,继承机制十分实用,却也经常被误用,而且常得等你用上一段时间,遇见了痛点,才能察觉误用所在。 特性(主要是函数和字段)经常需要在继承体系里上下调整。我有一组手法专门用来处理此类调整:函数上移(350)、字段上移(353)、构造函数本体上移(355)、函数下移(359)以及字段下移(361)。我可以使用提炼超类(375)、移除子类(369)以及折叠继承体系(380)来为继承体系添加新类或删除旧类。如果一个字段仅仅作为类型码使用,根据其值来触发不同的行为,那么我会通过以子类取代类型码(362),用一个子类来取代这样的字段。 继承本身是一个强有力的工具,但有时它也可能被用于错误的地方,有时本来适合使用继承的场景变得不再合适——若果真如此,我就会用以委托取代子类(381)或以委托取代超类(399)将继承体系转化成委托调用。