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 攻擊了