首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Liskov代换原理

Liskov代换原理
EN

Stack Overflow用户
提问于 2019-12-12 21:27:48
回答 1查看 208关注 0票数 0

我正在阅读Chetan Giridhar写的"Learning Python Design Pattern“一书,我偶然发现了一个称为Liskov替换原则的设计原则,该原则规定派生类必须能够完全替换基类(父类)。

我不认为我理解这一点,因为如果派生类可以完全取代基类,那么编写派生类还有什么意义呢?它不会使基类变得多余吗?

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

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

EN

回答 1

Stack Overflow用户

发布于 2020-11-01 01:09:21

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

我们不能替换parent class's功能,但我们可以在子类中对其进行re-write,并在子类之后修改extend。它将通过更改父类来避免复杂软件中可能出现的chain reaction,因此我们选择在子类中duplicate它,然后write我们想要的modifications

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59305705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档