學習日誌0820類的繼承
阿新 • • 發佈:2018-08-20
str ini 函數 引用 功能 spa 菱形 什麽是 name
1 什麽是繼承
繼承是一種新建類的方式,新建的類稱之為子類/派生類,被繼承的類稱之為父類/基類/超類
繼承的特性:子類可以遺傳/重用父類的屬性
python中繼承的特點:
1 python中一個子類可以同時繼承多個父類
2 在繼承的背景下去說,python中的類分為兩種:
新式類,經典類:
新式類:但凡繼承了object的類Foo,以及該類的子類都是新式類
在python3中都是新式類,默認繼承object
經典類:沒有繼承object的類,以及該類的子類
在子類派生出的新方法中重用父類的功能的方式一:
指明道姓的引用一個類中的函數:
classa: def __init__(self,name,age,sex): self.name = name self.age = age self.sex = sex class b(a): def __init__(self,name,age,sex,b) a.__init__(self,name,sex) self.b= b
總結:
1 與繼承無關
2 訪問沒有自動傳值的效果
在多繼承背景下屬性的查找的優先級:
如果一個子類繼承多個分支:就一個分支一個分支的查找,一個分支完全找完再找另一個分支
在菱形繼承中:
新式類:廣度優先查找先(一個分支一個分支的查找,所有的分支都查找完了之後再找頂級的)
經典類:深度優先查找(一個分支一個分支的找,第一個分支直接到頂級)
在子類中重用父類的方式二:
super()
class a: def __init__(self,name,age,sex): self.name= name self.age = age self.sex = sex class b(a): def __init__(self,name,age,sex,b): supper().__init__(name,age,sex) self.b = b
學習日誌0820類的繼承