python mixin設計模式的應用(多繼承應用場景)
阿新 • • 發佈:2019-05-12
=== 功能 style nor pre pytho otg 開發思想 不同的
什麽是設計模式?
設計模式只是一種開發思想。不是什麽固定的格式。
前人的好的思想,我們後人拿過來用!
mixin設計模式:
1.mixin設計迷失可以在不對類的內容的修改前提下,擴展類的功能(添加父類)
2.更加方便的組織和維護不同的組建
3.可以根據開發需要任意調整功能
4.可以避免產生更多的類
缺點:
受繼承關系限制,推薦只有兩層的繼承使用。
1.設計模式-單繼承場景
1 #設計模式-單繼承場景 2 #這樣每增加一個水果,都得分別去繼承它的父類(方位)(送禮)(去皮) 3 #水果類 4 class Fruit: 5pass 6 #=========方位============ 7 #南方水果類 8 class SouthFruit(Fruit): 9 pass 10 #北方水果類 11 class NorthFruit(Fruit): 12 pass 13 #==========送禮============= 14 ‘‘‘‘‘‘ 15 #南方禮物水果 16 class SouthGiftFruit(SouthFruit): 17 pass 18 #南方非禮物水果 19 class SouthNotgiftFruit(SouthFruit):20 pass 21 22 #北方禮物水果 23 class NorthGiftFruit(NorthFruit): 24 pass 25 #北方非禮物水果 26 class NorthNotgiftFruit(NorthFruit): 27 pass 28 29 #=============去皮============= 30 31 #==========真是水果============== 32 #蘋果類 33 class Apple(NorthGiftFruit): 34 pass 35 #梨類 36 class Pear(NorthNotgiftFruit):37 pass 38 #香蕉 39 class Banana(SouthNotgiftFruit): 40 pass 41 #桔子 42 class Orange(SouthGiftFruit): 43 pass
2.設計模式-多繼承場景
1 1 # 設計模式-多繼承場景 2 2 # 這樣每增加一個水果,只須在它的繼承中增加就可以class Apple(Fruit,North,在這裏增加父類) 3 4 #水果類 5 class Fruit: 6 pass 7 #方位 8 #南方類 9 class South: 10 pass 11 #北方類 12 class North: 13 pass 14 #蘋果類 15 class Apple(Fruit,North): 16 pass 17 #梨類 18 class Pear(Fruit,North): 19 pass 20 #香蕉 21 class Banana(Fruit,South): 22 pass 23 #桔子 24 class Orange(Fruit,South): 25 pass
python mixin設計模式的應用(多繼承應用場景)