亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

python中子類(lèi)繼承父類(lèi)的__init__方法實(shí)例

オリジナル 2017-01-12 13:26:34 321
サマリー:前言使用Python寫(xiě)過(guò)面向?qū)ο蟮拇a的同學(xué),可能對(duì) __init__ 方法已經(jīng)非常熟悉了,__init__方法在類(lèi)的一個(gè)對(duì)象被建立時(shí),馬上運(yùn)行。這個(gè)方法可以用來(lái)對(duì)你的對(duì)象做一些你希望的 初始化 。注意:這個(gè)名稱(chēng)的開(kāi)始和結(jié)尾都是雙下劃線。父類(lèi)Aclass A(object):  def __init__(self, name): &nbs

前言

使用Python寫(xiě)過(guò)面向?qū)ο蟮拇a的同學(xué),可能對(duì) __init__ 方法已經(jīng)非常熟悉了,__init__方法在類(lèi)的一個(gè)對(duì)象被建立時(shí),馬上運(yùn)行。這個(gè)方法可以用來(lái)對(duì)你的對(duì)象做一些你希望的 初始化 。

注意:這個(gè)名稱(chēng)的開(kāi)始和結(jié)尾都是雙下劃線。

父類(lèi)A

class A(object):
 def __init__(self, name):
  self.name=name
  print "name:", self.name
 def getName(self):
  return 'A ' + self.name

子類(lèi)不重寫(xiě)__init__ , 實(shí)例化子類(lèi)時(shí),會(huì)自動(dòng)調(diào)用父類(lèi)定義的__init__

class B(A):
 def getName(self):
  return 'B '+self.name
  
if __name__=='__main__':
 b=B('hello')
 print b.getName()

執(zhí)行

$python lei2.py
name: hello
B hello

但重寫(xiě)了__init__時(shí),實(shí)例化子類(lèi),就不會(huì)調(diào)用父類(lèi)已經(jīng)定義的__init__

class A(object):
 def __init__(self, name):
  self.name=name
  print "name:", self.name
 def getName(self):
  return 'A ' + self.name
 
class B(A):
 def __init__(self, name):
  print "hi"
  self.name = name
 def getName(self):
  return 'B '+self.name
 
if __name__=='__main__':
 b=B('hello')
 print b.getName()

執(zhí)行

$python lei2.py
hi
B hello

為了能使用或擴(kuò)展父類(lèi)的行為,最好顯示調(diào)用父類(lèi)的__init__方法

class A(object):
 def __init__(self, name):
  self.name=name
  print "name:", self.name
 def getName(self):
  return 'A ' + self.name
 
class B(A):
 def __init__(self, name):
  super(B, self).__init__(name)
  print "hi"
  self.name = name
 def getName(self):
  return 'B '+self.name
 
if __name__=='__main__':
 b=B('hello')
 print b.getName()

執(zhí)行

$python lei2.py
name: hello
hi
B hello

總結(jié)

以上就是關(guān)于python子類(lèi)繼承父類(lèi)的__init__方法的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

更多關(guān)于python中子類(lèi)繼承父類(lèi)的__init__方法實(shí)例請(qǐng)關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!

手記を発表する

人気のある見(jiàn)出し語(yǔ)