python子類呼叫父類的方法

2021-10-04 03:22:22 字數 1995 閱讀 2988

情況一:子類需要自動呼叫父類的方法:子類不重寫__init__()方法,例項化子類後,會自動呼叫父類的__init__()的方法。

class

father

(object):

def__init__

(self, name)

: self.name=name

print

("name: %s"

%( self.name)

)def

getname

(self)

:return

'father '

+ self.name

class

son(father)

:def

getname

(self)

:return

'son '

+self.name

if __name__==

'__main__'

: son=son(

'runoob'

)print

( son.getname(

))

情況二:子類不需要自動呼叫父類的方法:子類重寫__init__()方法,例項化子類後,將不會自動呼叫父類的__init__()的方法。

class

father

(object):

def__init__

(self, name)

: self.name=name

print

("name: %s"

%( self.name)

)def

getname

(self)

:return

'father '

+ self.name

class

son(father)

:def

__init__

(self, name)

:print

("hi"

) self.name = name

defgetname

(self)

:return

'son '

+self.name

if __name__==

'__main__'

: son=son(

'runoob'

)print

( son.getname(

))

class

father

(object):

def__init__

(self, name)

: self.name=name

print

("name: %s"

%( self.name)

)def

getname

(self)

:return

'father '

+ self.name

class

son(father)

:def

__init__

(self, name)

:super

(son, self)

.__init__(name)

print

("hi"

) self.name = name

defgetname

(self)

:return

'son '

+self.name

if __name__==

'__main__'

: son=son(

'runoob'

)print

( son.getname(

))

Python 子類呼叫父類方法

python在繼承時,如果子類重寫了init 函式,則父類的init 不會被呼叫,這時如果子類只是想要對父類的init 函式進行簡單的擴充套件的話,是很不方便的。那麼有沒有比較方便的方法來從子類呼叫父類呢?第一種是直接使用父類的類名來直接呼叫。python3.3 class parent def i...

python子類呼叫父類的方法

from python和其他物件導向語言類似,每個類可以擁有乙個或者多個父類,它們從父類那裡繼承了屬性和方法。如果乙個方法在子類的例項中被呼叫,或者乙個屬性在子類的例項中被訪問,但是該方法或屬性在子類中並不存在,那麼就會自動的去其父類中進行查詢。繼承父類後,就能呼叫父類方法和訪問父類屬性,而要完成整...

python子類呼叫父類的方法

python和其他物件導向語言類似,每個類可以擁有乙個或者多個父類,它們從父類那裡繼承了屬性和方法。如果乙個方法在子類的例項中被呼叫,或者乙個屬性在子類的例項中被訪問,但是該方法或屬性在子類中並不存在,那麼就會自動的去其父類中進行查詢。繼承父類後,就能呼叫父類方法和訪問父類屬性,而要完成整個整合過程...