python - 有没有办法让继承的方法执行检查,如果检查失败,请返回原始方法?(Python)
问题描述
假设我有一个父类和一个子类,如下所示:
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),则只需从父类运行该方法。
编辑:修复了语法错误
解决方案
你可以做这样的事情
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
推荐阅读
- django - Django MaterializeCSS - 工作,但不确定设置 css 和 js 的正确方法?
- r - 在堆积条形图中自定义不同大小的标签(ggplot2)
- angular - 向动态表单添加验证
- select - 检索具有给定值集且没有其他值的行
- django - 获取超过 1 个模型的序列化数据
- python - BeautifulSoup:查找多个嵌套元素的类值
- flutter - 动画脚手架背景颜色
- javascript - 通过 ajax 发送的数据格式错误
- javascript - Firestore 从单个文档纯 JS 中获取所有字段
- sql - 如果外键表中不存在外键,如何选择记录