是否有一种方法可以让继承的方法执行检查,如果检查失败,请返回原始方法? (Python)

问题描述 投票:0回答:1

假设我有一个父类和一个子类,看起来像这样:

class Parent():
 def __init__(self,value):
     self.value = self.value
 def get_value(self):
     return self.value

class Child(Parent):
 def __init__(self,value):
     super(Child,self).__init__(value)
 def get_value(self):
     if self.value == 10
        print("Yay!")
     else:
        Parent.get_value()

所以像上面一样,我希望有一个父类的子类,该子类重写从父类继承的方法,但是我希望它检查特定条件。如果不满足该特定条件(在本例中为self.value = 10),则只需从父类运行该方法即可。

编辑:已修复语法错误

python class inheritance methods overriding
1个回答
0
投票

您可以做类似的事情

class Parent:
    def __init__(self, value):
        self.value = value

    def get_value(self):
     print(f'parrent {self.value}')
     return self.value





class Child(Parent):
 def __init__(self,value):
     super(Child,self).__init__(value)
 def get_value(self):
     if self.value == 10:
        print(f'child {self.value}')
        print("Yay!")
     else:
        super().get_value()




c = Child(10)
c.get_value()

cp = Child(11)
cp.get_value()

输出

child 10
Yay!
parrent 11

© www.soinside.com 2019 - 2024. All rights reserved.