SuperAPI AI 工具集

liskov-substitution-principle

通用与其它

查看项目

更新于 10-16 03:36

技能介绍

用途:该技能用于在创建子类、实现接口或重写父类方法时,判断并避免违反里氏替换原则(LSP)。核心规则是:若 S 是 T 的子类型,则类型 T 的对象应能被类型 S 的对象替换而不破坏程序;子类必须遵守父类的契约。

主要能力:提供替换测试(能否用子类替换父类的每一处实例而不出错)、重写坏味道识别(重写方法抛异常、空操作、改变行为语义),以及正确模式示例,如用接口定义能力、用组合共享行为。

使用方式:在继承层次显得“勉强”、想在重写方法中抛异常或做空操作、或使用 instanceof 区分处理子类型时,停下来改用接口与组合。资料给出的正确做法包括:Square 与 Rectangle 各自实现 Shape 接口;Bird 基类加 Flyable 接口;将 Readable 与 Writable 拆分为独立接口。

适用场景:面向对象设计、代码审查、重构继承结构。

限制:资料未提供安装命令、平台信息、收费或价格信息;内容以原则与示例为主,未涉及具体语言运行时或工具链配置。