Python學習筆記之 Python設計思想&設計原則
Python設計思想&設計原則
設計思想
1.封裝
數據角度
多種數據合為一種數據
優勢:程式碼可讀性高
將數據與行為相關聯
例如:電腦(記憶體,儲存空間,…)
行為角度
提供[必要]功能,隱藏細節(方法體,方法本身)
隱藏成員,以雙下劃線命名(如:__a)
屬性:保護數據(加工數據,只讀,只寫)
實例:
class A:
def __init__(self,n):
self.__n = n
@property
def n(self):
return self.__n
@n.setter
def n(self,value):
self.__n = value
@n.deleter
def n(self):
print("n被del了")
a = A(10)
print(a).n # 10
a.n = 20
print(a).n # 20
del a.n # n被del了
設計角度
分而治之:需求分為多個類(行為)
變則疏之:將變化點單獨定義到類中
高內聚:一個類的內部 干一件事。單一職責
低耦合:類與類的關係鬆散
類與類行為不同,對象與對象數據不同
2.多態
傳入不同的實例對象,做不同的事
實例:
class Player:
def __init__(self,name):
self.name = name
def attack(self,player):
print(f'{player.name} 被 {self.name} 攻擊了')
player1 = Player('小宇宙zjy')
player2 = Player('小杜同學')
player1.attack(player2) # 小杜同學 被 小宇宙zjy 攻擊了