Python3 - 修改具有多个条件的超类方法

时间:2018-05-07 14:41:54

标签: python-3.x oop

请查看以下示例代码:

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

我正在尝试修改Parent类中的方法,以便在Child类下为方法添加其他条件。

我理解对于第一个粗体表达式,我可以使用这样的代码:

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

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

感谢您的帮助!!

0 个答案:

没有答案