【发布时间】:2019-08-06 12:00:27
【问题描述】:
我有一个班级 Father 我称之为 run 方法来完成这项工作。我用Child 类继承了这个类。看起来像这样:
class Father:
def __init__(self):
...
def run(self):
work1()
work2()
....
class Child(Father):
def run(self):
pass
通常,我使用pass,因为大多数时候,孩子做的事情和父亲一样,只是在不同的上下文中被调用。但是,有时行为会发生变化。但当它执行时,work1、work2 等来自Father 的代码仍在执行中。只应添加最后一个 workn。
如何覆盖run 方法而不必从Father.run 复制整个代码,只需添加最后一条work 指令?我试过这个,它正在工作:
class Father:
def run(self):
work1()
...
run_additionnal_stuf()
def run_additionnal_stuf(self):
pass
class Child(Father):
def run_additionnal_stuf(self):
work()
但是,有没有更优雅的解决方案?
【问题讨论】:
标签: python oop inheritance