python mixin设计模式的应用(多继承应用场景)

什么是设计模式?
设计模式只是一种开发思想。不是什么固定的格式。
前人的好的思想,我们后人拿过来用!


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

猜你喜欢

转载自www.cnblogs.com/lws865/p/10852021.html