SuperAPI AI 工具集

oop-inheritance-composition

通用与其它

查看项目

更新于 10-16 07:25

技能介绍

用途:该技能面向面向对象设计,核心是帮助开发者在“继承”与“组合”之间做选择,并解释如何用继承建立类层次、如何用组合从更小的对象拼装出灵活的系统。

主要内容:资料给出了三类继承基础示例。Java 部分以抽象类 Vehicle 为基类,配合模板方法 start()、钩子方法和服务端抽象方法 startEngine(),再由 Car、Motorcycle 实现;Python 部分以抽象基类 Employee 演示模板方法 process_payroll(),再由 SalariedEmployee、HourlyEmployee、CommissionEmployee 实现各自的薪资计算;TypeScript 部分以抽象类 Shape 定义 area()、perimeter()、draw(),由 Circle、Rectangle、Triangle 实现。

组合部分以 Java 为例:先定义 Engine、Transmission、GPS 等组件接口,再提供 V6Engine、ElectricEngine、AutomaticTransmission、ManualTransmission 等具体实现,最后通过 ComposedCar 持有这些组件,并用 Builder 构建对象、把行为委托给组件。

适用场景:当子类共享同一套行为骨架、需要模板方法或钩子扩展时适合继承;当行为需要独立变化、可替换、可组合或存在可选能力(如 GPS)时适合组合。

限制:资料未提供安装命令、依赖版本、运行环境配置或收费信息,具体落地需结合所用语言与项目约束自行调整。