據我所知,在Python中父類的方法被覆蓋。 所以所有的類方法默認都是虛擬的,如下面的代碼所示。覆蓋與Python中的虛擬類方法
class Parent(object):
def Method1(self):
print 'FOO'
class Child(Parent):
def Method1(self):
print 'BAR'
myInstance = Child()
#Overridden method is called
myInstance.Method1() # BAR
#Is it possible to do the following?
myInstance.{something} # FOO
問題:
是否有可能從實例子類的
myInstance
調用父類的方法Parent.Method1()
?是否有可能使
def Parent.Method1(self)
不由具有相同名稱的方法來覆蓋,但一些不同的參數集def Child.Method1(self,x,y)
?
是,這對我來說很明顯。我無法弄清楚如何從子類的實例中調用父方法,因此我可以在程序中選擇要調用的方法(子方法或父方法) – Konstantin
@Konstantin:這正是他的代碼向您展示的方式至。 – BrenBarn
@BrenBarn,我不確定。這是使用'super()'從子類方法調用父方法,沒有問題。我想知道是否有任何方法讓孩子的實例調用它的方法或被覆蓋的父方法 – Konstantin