2014-01-29 84 views
-3
class A(object): 
    def foo(self): 
     print 'A' 

class B(A): 
    def foo(self): 
     print 'B' 

class C(B): 
    pass 

c = C() 
c.foo() 
>>> B 

我想打電話給A類的,把foo()方法,所以我怎麼能叫這個富()方法,它將打印「A」如何調用foo()從類功能的

回答

0

直接回答你的問題,你可以定義C這樣的:

class C(B): 
    def foo(self): 
     A.foo(self) 

然而,一個更好的問題可能是:爲什麼你想這樣做嗎?一個需要訪問父類中定義的erm「祖父母」功能的類是一個很好的信號,表明你的繼承模型並不理想。例如:C需要什麼來自B;它可以直接從A繼承嗎?

+0

謝謝,這是在面試中問我的問題,我也很困惑,爲什麼有人會這樣做。 – swamydkv

+0

http://stackoverflow.com/help/someone-answers – jonrsharpe