2024-06-28 23:47:25 发布
网友
我正在读Chetan Giridhar写的《学习Python设计模式》一书 我遇到了一个叫做Liskov替代原理的设计原理 派生类必须能够完全替换基类(父类)
我认为我不理解这一点,因为编写派生类有什么意义 是否可以完全替换基类?它不会使基类变得多余吗
根据我的理解和经验,派生类扩展了基类的功能,因此应该依赖于基类
作者试图帮助我理解什么
Derived类应该扩展,而不替换旧类的functionality。这意味着派生类应该可以替换它们的parent/base类。此外,它们可以在没有任何意外行为的情况下在父类的位置上使用
Derived
functionality
parent/base
我们不能替换parent class's功能,但我们可以在子类中re-write替换它,并对该子类进行修改extend。通过更改父类,我们可以选择在子类中使用duplicate,然后在所需的modifications中使用write,这样可以避免复杂软件中可能出现的chain reaction
parent class's
re-write
extend
duplicate
modifications
write
chain reaction
Derived
类应该扩展,而不替换旧类的functionality
。这意味着派生类应该可以替换它们的parent/base
类。此外,它们可以在没有任何意外行为的情况下在父类的位置上使用我们不能替换
parent class's
功能,但我们可以在子类中re-write
替换它,并对该子类进行修改extend
。通过更改父类,我们可以选择在子类中使用duplicate
,然后在所需的modifications
中使用write
,这样可以避免复杂软件中可能出现的chain reaction
相关问题 更多 >
编程相关推荐