知识卡片
里氏替换
内容
里氏替换要求子类能在父类出现处无损替换。高层抽象必须只承诺所有子类都能满足的能力。发散:不会飞的鸟提醒我们,错误抽象比缺少抽象更危险。
参考来源
- 位置:《秒懂设计模式 2021》第25章《终道》25.3节「里氏替换」鸵鸟例子(源文件:_epub-src/OEBPS/Text/chapter025.html)
- 结论依据:原文用鸵鸟继承禽类却不会飞、无法在所有禽类出现处替换的例子,明确里氏替换原则要求子类能无损替换父类,直接支持卡片论点。
- 原始内容:"此原则指的是在任何父类出现的地方子类也一定可以出现……鸵鸟不会飞,那么飞翔方法fly()就显得多余了,而且在所有禽类出现的地方无法用鸵鸟进行替换,这便违反了里氏替换原则。"