01月11日 四周四次【Python基礎進階】
阿新 • • 發佈:2018-01-11
顯示 進階 col super 自定義 方法總結 總結 類方法 3.1
3.1/3.2 類的繼承
3.3 類的屬性總結
3.4 類的方法總結
3.1/3.2 類的繼承
類的繼承
- 繼承是面向對象的重要特點之一
- 繼承關系: 繼承是相對兩個類而言的父子關系,子類繼承父類所有的公有屬性和方法
- 繼承實現代碼重用
使用繼承
- 繼承可以重用已經存在的數據和行為,減少代碼的重復編寫.Python在類名後使用一對括號來表示繼承關系,括號中的類即為父類
- class Myclass(ParentClass)
- 如果父類定義了int方法,子類必須顯示調用父類的init方法
- ParentClass.init(self,[args...])
- 如果子類需要擴展父類的行為,可以添加init方法的參數
class People (object): color = ‘yellow‘ def __init__(self, c): print("Init...") self.dwell = ‘Earth‘ def think(self): print("I am a %s"%self.color) print("I am a thinker") class Chinese(People): def __init__(self): People.__init__(self,‘red‘) pass cn = Chinese() print(cn.color) print(cn.dwell) cn.think()
super函數
class A(Object): def __init__(self): print ("enterA") print ("leaveA") class B(A): def __init__(self): print ("enetrB") super(B,self).__init__() print ("leaveB") b = B() ############### class People (object): color = ‘yellow‘ def __init__(self, c): print("Init...") self.dwell = ‘Earth‘ def think(self): print("I am a %s"%self.color) print("I am a thinker") class Chinese(People): def __init__(self): super(Chinese, self).__init__(‘red‘) pass cn = Chinese()
多重繼承
- 如果父類定義了int方法,子類必須顯示調用父類的init方法
- python支持多重繼承, 即一個類可以繼承多個父類
- 語法
- class class_name(Parent_c1,Parent_c2,...)
- 註意:
- 當父類中出現多個自定義的init方法時,多重繼承只執行第一個init方法,其他的不執行
class People (object): def __init__(self): self.dwell = ‘Earth‘ self.color = ‘yellow‘ def think(self): print("I am a %s"%self.color) print("My home is %s"%self.dwell) class Martian(object): color = ‘red‘ def __init__(self): self.dwell = ‘Martian‘ def talk(self): print("I LIKE") class Chinese(Martian,People): def __init__(self): People.__init__(self) cn = Chinese() cn.think() cn.talk()
- 當父類中出現多個自定義的init方法時,多重繼承只執行第一個init方法,其他的不執行
3.3 類的屬性總結
- 類屬性,也是共有屬性
- 類的私有屬性
- 對象的共有屬性
- 對象的私有屬性
- 內置屬性
- 函數的局部變量
- 全局變量
3.4 類的方法總結
- 公有方法
- 私有方法
- 類方法
- 靜態方法
- 內置方法
01月11日 四周四次【Python基礎進階】