Python學習筆記之 Python設計思想&設計原則

小宇宙zjy發表於2020-08-08

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了

@property 詳解

設計角度

分而治之:需求分為多個類(行為)

變則疏之:將變化點單獨定義到類中

高內聚:一個類的內部 幹一件事。單一職責

低耦合:類與類的關係鬆散

類與類行為不同,物件與物件資料不同

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

相關文章