python中子類父類繼承具體指什么 是指第二個(gè)類的參數(shù)是第一個(gè)類嗎,加于不加有什么區(qū)別呢
問題描述
這兩個(gè)不同代碼塊有撒區(qū)別,最后的結(jié)果是一樣的啊
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:最后的結(jié)果怎么會是一樣呢?第一種的結(jié)果是:hiB hello第二種的結(jié)果是:(’name:’, ’hello’)hiB hello
第二種里面調(diào)用了父類的A.__init__('hello'), 而第一種是override了父類的__init__(self, name) function.
