跳转至

OOP- Mixin设计模式

Mixin设计模式

  • 主要采用多继承的方式对类的功能进行扩展 而不改变类本身的特质,比如: 人是一个类(需要吃饭睡觉), 鸟是一个类(会飞), 鱼是一个类(会游泳).....那么超人(需要会飞,会游泳,需要吃饭睡觉)可以继承这几个类构造一个超人
  • Mixin 不能依赖子类的实现: 上方提到的继承了人,鸟,鱼的超人,尽量不要再有子类继承超人
  • 类没有及时继承这个Mixin类 也能照样工作 只是缺少了某些功能:比如超人可能没有继承鱼,但是不影响其主体功能,依然能够运行,不崩坏

优点

  • Mixin可以在不对任何类进行修改的情况下进行扩充功能
  • 方便组织维护不同功能
  • 可以避免创建很多新类 导致类混乱
class people():
    def eat(self):
        pass
    def sleep(self):
        pass
class teacher():
    def work(self):
        pass
class superman(people,teacher):
    pass
print(superman.mro())