首页 > 解决方案 > Python3 - 使用多个条件修改超类方法

问题描述

请看下面的示例代码:

class Parent:
    def __init__(self, a):
        self.a = a
        self.lst = []

    def method(self, b):
        if self.a < b.length:
            return False
        else:
            self.lst.append(b)
            return True

class Child(Parent):
    def __init__(self, x, a):
        super().__init__(self, a)
        self.x = x

    def method(self, b):
        if self.a < b.length:
            return False
        **elif self.x < b.length:
            return False**
        else:
            self.lst.append(b)
            **self.x -= b.length**
            return True

我正在尝试修改父类中的方法,以在子类下的方法中添加附加条件。

我知道对于第一个粗体表达式,我可以使用如下代码:

def method(self, b):
    if self.x < b.length:
        return False
    else:
        super().method(b)

但是我不知道如何将第二个粗体表达式集成到继承的方法中。有人知道减少重复代码的方法吗?

谢谢你的帮助!!

标签: python-3.xoop

解决方案


推荐阅读