如何解决避免破坏 python 子类中的 liskov 替换原则
假设有一个执行复杂操作以产生结果的类。然后我想要一堆子类,它们做同样的事情,但将结果变异为另一个实例。这适用于 python 并创建了一种生成每个子类的相对不错的方法(调用 super 并继续执行操作),但我知道这违反了 Liskov 替换原则。我将如何重构它以遵守该原则?
class Super:
def produce(value: int) -> int:
return value * 2 # imagine this is a complex operation.
class Sub(Super):
def produce(value: int) -> str:
return str(super().produce(value)). # converting to another type
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。