Вла*_*нко 5 python inheritance overwrite
我有一种情况,当我需要覆盖父方法但只在一行.我的初始代码非常大,所以我在一个例子中澄清了我的意思.我有父母的方法:
class parent():
def method(self):
bla
bla
print("Parent method is working")
bla
bla
Run Code Online (Sandbox Code Playgroud)
和孩子:
class child(parent):
def method(self):
bla
bla
print("Child method working")
bla
bla
Run Code Online (Sandbox Code Playgroud)
如您所见,两种方法几乎相同,但一条线不同.我是否必须在子方法中编写相同的代码才能打印不同的输出,或者python中有黑暗魔法如何只覆盖一行?
您可以引入在子项中覆盖的辅助方法.
class parent(object):
def method(self):
blah
self.helper()
blah
def helper(self):
print("parent running")
class child(parent):
def helper(self):
print("child running")
Run Code Online (Sandbox Code Playgroud)