1. 程式人生 > >python mixin設計模式的應用(多繼承應用場景)

python mixin設計模式的應用(多繼承應用場景)

=== 功能 style nor pre pytho otg 開發思想 不同的

什麽是設計模式?
設計模式只是一種開發思想。不是什麽固定的格式。
前人的好的思想,我們後人拿過來用!


mixin設計模式:
1.mixin設計迷失可以在不對類的內容的修改前提下,擴展類的功能(添加父類)
2.更加方便的組織和維護不同的組建
3.可以根據開發需要任意調整功能
4.可以避免產生更多的類

缺點:
受繼承關系限制,推薦只有兩層的繼承使用。

1.設計模式-單繼承場景

 1 #設計模式-單繼承場景
 2 #這樣每增加一個水果,都得分別去繼承它的父類(方位)(送禮)(去皮)
 3 #水果類
 4 class Fruit:
 5
pass 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設計模式的應用(多繼承應用場景)