天天看點

Python 類的封裝與繼承

類的封裝

封裝的了解

Python 類的封裝與繼承
Python 類的封裝與繼承
Python 類的封裝與繼承
Python 類的封裝與繼承
#私有類屬性:僅供目前類通路的類屬性,子類亦不能通路
class <類名>:
	<私有類屬性名> = <類屬性初值>
	def __init__(self, <參數>):
		...
#差別:私有類屬性需要有兩個下劃線
           
Python 類的封裝與繼承
#私有類屬性的公開與私有 舉個栗子
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(私有變量)來通路私有變量,即私有變量不一定真的私有
           

類的保留屬性

Python 類的封裝與繼承
Python 類的封裝與繼承
Python 類的封裝與繼承

類的保留方法

Python 類的封裝與繼承
Python 類的封裝與繼承
Python 類的封裝與繼承
Python 類的封裝與繼承
Python 類的封裝與繼承

類的繼承

繼承的了解

Python 類的封裝與繼承
Python 類的封裝與繼承
Python 類的封裝與繼承

類繼承的建構

#類繼承的建構
class <類名>(<基類名>):
	def __init__(self, <參數>):
		<語句>
	...		
           
Python 類的封裝與繼承
Python 類的封裝與繼承

python 最基礎類

Python 類的封裝與繼承
Python 類的封裝與繼承
Python 類的封裝與繼承
Python 類的封裝與繼承

類的屬性重載

Python 類的封裝與繼承
Python 類的封裝與繼承

重載無需标記

類的方法重載

Python 類的封裝與繼承
# 增量重載:使用super()方法
class <派生類>(<基類名>):
	def <方法名>(self, <參數>):
		super.<基類方法名>(<參數>)
		...
           

類的多繼承

class <類名>(<基類名>, <基類名>, <基類名>, ...):
	def __init__(self. <參數>):
		<語句塊>
	...
           
Python 類的封裝與繼承
Python 類的封裝與繼承

總結

Python 類的封裝與繼承

以上内容源自嵩天老師《python面向對象精講》,為随堂筆記截圖整理,友善複習