python类的多重继承由于C3算法的原因导致实现时需要提前规划先后顺序才能正常使用。

这会让人在python中使用多重继承时感到十分的麻烦。

而Mixin类则为我们带来了自由的多重继承和插拔式的舒适体验。

其实MixinClass的本质其实就是一个没有重写 __new____init__ 方法的类。

MixinClass使用BaseClass或者Object的__new____init__ 方法。

继承顺序是

MixinClass -> BaseClass -> ObjectClass

因此MixinClass的集成顺序最好是BaseClass在最后面

例:

class BaseClass(object):
    def __new__(self):
        pass
        
    def __init__(self):
        pass

class MixinClass1(object):
    pass

class MixinClass2(object):
    pass

class Example(MixinClass2, MixinClass1, BaseClass):
    pass

相关文章:

  • 2021-07-14
  • 2022-12-23
  • 2021-05-06
  • 2022-02-21
  • 2021-12-27
  • 2022-02-21
  • 2021-11-24
  • 2021-11-23
猜你喜欢
  • 2022-12-23
  • 2022-02-23
  • 2021-12-22
  • 2021-11-29
  • 2022-01-17
  • 2022-12-23
  • 2021-08-26
相关资源
相似解决方案