多重繼承的時候需要用super函數的問題
請問如果在多重繼承的時候需要用super函數來繼承的兩個屬性或者類方法分別來自于兩個父類,應該要怎么寫super函數?比如grade和interest分別來自于A和B
class?C(A,?B): ????def?__init__(self,?grade,?interest): ????????super(C,?self).__init__(grade,?interest)
這樣寫會不會出問題,萬一A和B中都有grade 和interest屬性呢?
請問如果在多重繼承的時候需要用super函數來繼承的兩個屬性或者類方法分別來自于兩個父類,應該要怎么寫super函數?比如grade和interest分別來自于A和B
class?C(A,?B): ????def?__init__(self,?grade,?interest): ????????super(C,?self).__init__(grade,?interest)
這樣寫會不會出問題,萬一A和B中都有grade 和interest屬性呢?
2015-05-13
舉報
2015-05-14
自己編個小例子就可以看到解答了,這樣寫的“后果”就是B的__init__沒有被調用,我試了其他例子,好像python都只用最近的那個父類,比如A。