python繼承
物件導向的三大特徵:
封裝,繼承,多型
自動銷毀的方法:
def
__del__(self):
print("物件正在銷毀")
程式結束時自動呼叫
__del__(self):
測試乙個物件有多少個引用:
import
syssys.getrefcount()
最少返回2,因為它把自己也當成乙個物件。
繼承:子類繼承父類,子類可以使用父類的屬性和方法,可以簡化**。
總結:當子類繼承父類時,子類的構造方法應該包含父類和子類共同的屬性,在子類的初始化方法中,將父類的屬性傳遞給父類,子類的屬性賦值給子類
方法重寫:
子類繼承父類時,子類的方法簽名和父類一樣,此時子類重寫了父類的方法,當生成子類物件時,呼叫的是子類重寫的方法
三代繼承:
子類初始化方法需要祖父,父類及自己的屬性,可以呼叫父類的初始化方法傳參,可以重寫父類的方法,構造的順序依然是構造祖父類,在構造父類,最後構造自己
多繼承:
類可以同時繼承多個父類,
class c(a,b)當ab
均有相同方法,而子類再一次重寫的時候,會呼叫它前面的也就是
a的方法
類名.mro()
可以看到所有父類,也就是搜尋的順序。
python 類 封裝 繼承 多型
類由一系列函式物件組成,在類中,函式物件稱為方法,方法的第乙個引數必須為self,表示當前例項物件 可把類理解為乙個dict,key為方法名 string型別 value為方法 class animal object def init self,age,color self.age age self...
python封裝繼承 python繼承 封裝
python繼承 封裝 1 為什麼要封裝 封裝資料的主要原因是 保護隱私 封裝方法的主要原因是 隔離複雜度 2 封裝分為兩個層面 第乙個層面的封裝 什麼都不用做 建立類和物件會分別建立二者的命名空間,我們只能用類名.或者obj.的方式去訪問裡面的名字,這本身就是一種封裝 r1.nickname 草叢...
python中類的封裝與繼承
封裝就是將統一型別的內容放置在一起,通過self去呼叫 class people def init self,name,age self是物件,name是屬性,self.name就是將物件和屬性封裝在一起 self.name name self.age age def run self print ...