国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python子類繼承父類構(gòu)造函數(shù)詳解

2020-02-16 01:15:34
字體:
供稿:網(wǎng)友

如果在子類中需要父類的構(gòu)造方法就需要顯式地調(diào)用父類的構(gòu)造方法,或者不重寫父類的構(gòu)造方法。

子類不重寫 __init__,實例化子類時,會自動調(diào)用父類定義的 __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() )

輸出結(jié)果為:

name: runoob
Son runoob

如果重寫了__init__ 時,實例化子類,就不會調(diào)用父類已經(jīng)定義的 __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() )

輸出結(jié)果為:

hi
Son runoob

如果重寫了__init__ 時,要繼承父類的構(gòu)造方法,可以使用 super 關(guān)鍵字:

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

還有一種經(jīng)典寫法:

父類名稱.__init__(self,參數(shù)1,參數(shù)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() )

輸出結(jié)果為:

name: runoob
hi
Son runoob

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 饶平县| 多伦县| 出国| 那曲县| 五莲县| 土默特右旗| 万山特区| 楚雄市| 普格县| 龙门县| 清徐县| 淮滨县| 康乐县| 柳州市| 晴隆县| 沙湾县| 湖州市| 赣榆县| 沈阳市| 那曲县| 陇南市| 伊通| 镇雄县| 嘉鱼县| 辽宁省| 双峰县| 长子县| 永州市| 关岭| 江油市| 镇坪县| 馆陶县| 凤山县| 祁连县| 谷城县| 平舆县| 汾阳市| 崇义县| 迭部县| 平邑县| 陈巴尔虎旗|