替代原则

时间:2019-12-12 13:27:48

标签: python oop

我正在阅读Chetan Giridhar写的《学习Python设计模式》这本书 我碰到了一种叫做替代原理的设计原则 派生类必须能够完全替代基类(父类)。

我不明白我的意思,因为编写派生类有什么意义 是否可以完全取代基类?难道不是基类多余了吗?

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

作者试图帮助我理解什么?

1 个答案:

答案 0 :(得分:1)

Derived类应该扩展而不替换旧类的functionality。这意味着派生类应该可以代替其parent/base类。而且,它们可以代替其父类使用而没有任何意外行为。

我们无法取代parent class's功能,但可以在子类中re-write对其进行extend的修改。通过更改父类,它将使我们远离复杂软件中可能发生的chain reaction,因此我们选择在子类中选择duplicate,然后选择write我们想要的modifications