日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python子類繼承父類構造函數詳解

系統 2251 0

如果在子類中需要父類的構造方法就需要顯式地調用父類的構造方法,或者不重寫父類的構造方法。

子類不重寫 __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() )
          

輸出結果為:

name: runoob
Son runoob

如果重寫了__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
  def getName(self):
    return 'Son '+self.name
 
if __name__=='__main__':
  son=Son('runoob')
  print ( son.getName() )
          

輸出結果為:

hi
Son runoob

如果重寫了__init__ 時,要繼承父類的構造方法,可以使用 super 關鍵字:

            
super(子類,self).__init__(參數1,參數2,....)
          

還有一種經典寫法:

            
父類名稱.__init__(self,參數1,參數2,...)
          
            
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
  def getName(self):
    return 'Son '+self.name
 
if __name__=='__main__':
  son=Son('runoob')
  print ( son.getName() )
          

輸出結果為:

name: runoob
hi
Son runoob


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 礼泉县| 昌都县| 香河县| 肥东县| 财经| 烟台市| 崇州市| 临桂县| 荆门市| 通江县| 美姑县| 临澧县| 新邵县| 汾阳市| 荃湾区| 大姚县| 嘉兴市| 宝坻区| 沅陵县| 陈巴尔虎旗| 邵阳市| 河北省| 通辽市| 浠水县| 堆龙德庆县| 江都市| 建水县| 舟曲县| 榆树市| 凤城市| 维西| 新巴尔虎左旗| 满城县| 岢岚县| 安徽省| 永年县| 玉门市| 鄯善县| 定边县| 临沭县| 娱乐|