Mixin


Mixin(混入)

Mixin是一种开发模式,将多个类中的功能单元的进行组合利用的方式,用于多重继承,类似于JAVA 的接口(interface)

另外,当某个模块不能修改时,通过Mixin方式可以动态添加该类的方法,动态改变类的原有继承体系

Mixin类的一般命名方式以Mixin,able,ible为后缀

另外不能单独继承Mixin类,而是要组合继承使用Mixin类,且Mixin类写在最前面

举个例子:

一般动物是分两周,哺乳动物和非哺乳动物,哺乳动物最大的特征是哺乳,非哺乳动物最大的特征是卵生

而鸭嘴兽即是卵生的又是哺乳动物

 1 class FeipuruMixin:
 2     def nuansheng(self):
 3         print("I can nuansheng ")
 4  5 class Puru:
 6     def weinai(self):
 7         print("I can weinai")
 8  9 10 class Yazuishou(FeipuruMixin,Puru):
11     pass
12 13 y = Yazuishou()
14 y.nuansheng()
15 y.weinai()
16 17 """
18 结果
19 I am nuansheng 
20 I can weinai
21 """

所以很多时候Mixin更注重是属性或者功能的扩展

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM