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