python中子類父類繼承具體指什么 是指第二個類的參數是第一個類嗎,加于不加有什么區別呢
問題描述
這兩個不同代碼塊有撒區別,最后的結果是一樣的啊
class A(object): def __init__(self, name):self.name=nameprint ('name:', self.name) def getName(self):return ’A ’ + self.nameclass B(A): def __init__(self, name):print ('hi')self.name = name def getName(self):return ’B ’+self.nameif __name__==’__main__’: b=B(’hello’) print( b.getName())#di二geclass A(object): def __init__(self, name):self.name=nameprint ('name:', self.name) def getName(self):return ’A ’ + self.nameclass B(A): def __init__(self, name):super(B, self).__init__(name)print ('hi')self.name = name def getName(self):return ’B ’+self.nameif __name__==’__main__’: b=B(’hello’) print (b.getName())
問題解答
回答1:最后的結果怎么會是一樣呢?第一種的結果是:hiB hello第二種的結果是:(’name:’, ’hello’)hiB hello
第二種里面調用了父類的A.__init__('hello'), 而第一種是override了父類的__init__(self, name) function.
