類的封裝
封裝的了解
#私有類屬性:僅供目前類通路的類屬性,子類亦不能通路
class <類名>:
<私有類屬性名> = <類屬性初值>
def __init__(self, <參數>):
...
#差別:私有類屬性需要有兩個下劃線
#私有類屬性的公開與私有 舉個栗子
class DemoClass:
__count == 0
def __init__(self, name):
self.name = name
DemoClass.__count += 1 #私有屬性能在類内部被調用
@classmethod
def getCount(cls):
retuen DemoClass.__count #類方法
dc1 = DemoClass("老王")
dc2 = DemoClass("老李")
print(DemoClass.getCount())
#私有變量的優勢:隻能通過特定的方法去通路,可以在通路函數中設定通路條件以及通路次數統計、控制,進而有效保護變量
#私有執行個體屬性:僅供目前類内部通路的執行個體屬性,子類亦不能通路
class <類名>:
def __init__(self, <參數>):
self.<__執行個體屬性名> = <執行個體屬性初值>
...
#同樣可以設定return函數傳回
#ps.可用dc1(執行個體名)._DemoClass(類名)__name(私有變量)來通路私有變量,即私有變量不一定真的私有
類的保留屬性
類的保留方法
類的繼承
繼承的了解
類繼承的建構
#類繼承的建構
class <類名>(<基類名>):
def __init__(self, <參數>):
<語句>
...
python 最基礎類
類的屬性重載
重載無需标記
類的方法重載
# 增量重載:使用super()方法
class <派生類>(<基類名>):
def <方法名>(self, <參數>):
super.<基類方法名>(<參數>)
...
類的多繼承
class <類名>(<基類名>, <基類名>, <基類名>, ...):
def __init__(self. <參數>):
<語句塊>
...
總結
以上内容源自嵩天老師《python面向對象精講》,為随堂筆記截圖整理,友善複習