Liskov替换原理

2024-06-28 23:47:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在读Chetan Giridhar写的《学习Python设计模式》一书 我遇到了一个叫做Liskov替代原理的设计原理 派生类必须能够完全替换基类(父类)

我认为我不理解这一点,因为编写派生类有什么意义 是否可以完全替换基类?它不会使基类变得多余吗

根据我的理解和经验,派生类扩展了基类的功能,因此应该依赖于基类

作者试图帮助我理解什么


Tags: 功能设计模式作者经验基类原理意义派生类
1条回答
网友
1楼 · 发布于 2024-06-28 23:47:25

Derived类应该扩展,而不替换旧类的functionality。这意味着派生类应该可以替换它们的parent/base类。此外,它们可以在没有任何意外行为的情况下在父类的位置上使用

我们不能替换parent class's功能,但我们可以在子类中re-write替换它,并对该子类进行修改extend。通过更改父类,我们可以选择在子类中使用duplicate,然后在所需的modifications中使用write,这样可以避免复杂软件中可能出现的chain reaction

相关问题 更多 >