微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

避免破坏 python 子类中的 liskov 替换原则

如何解决避免破坏 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 举报,一经查实,本站将立刻删除。