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