python的類與繼承

如果在子類中需要調用父類的構造方法,需要顯式地調用父類的構造方法,或者不重寫父類的構造方法。
1、__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__方法。

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):
    pass
    # def getName(self):
    #     return 'Son ' + self.name


if __name__ == '__main__':
    son = Son('runoob')
    print(son.getName())

輸出

name: runoob
Father runoob
當子類沒有對父類方法getName進行重寫但子類實例又調用了該父類方法時,會自動調用父類的同名方法。

https://www.runoob.com/w3cnote/python-extends-init.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章