我有一堆class
对象,它们都从基类继承。其中一些覆盖了一种方法(save
)并做了些什么。对于这种特殊用例,我想暂时不允许使用子方法save
(如果存在),而是强制使用父方法save
。从外部调用父方法
class BaseClass(object):
def save(self, *args, **kwargs):
print("Base Called")
class Foo(BaseClass):
def save(self, *args, **kwargs):
# do_stuff
print("Foo called")
return super(Foo, self).save(*args, **kwargs)
obj = Foo()
我怎么能说obj
父保存从孩子,使得它打印“称为基”之外?
你是什么意思?你的意思是* only * print“Base Called”? –
基本上完全忽略子保存方法,只执行父方法 – rh0dium
您总是可以执行'BaseClass.save(obj)'。或者如果你希望它更普遍,可以使用'super'。虽然,这**尖叫**“我不应该使用继承” –