MixIns引入


'''
前面讲多继承:
优点:帮我们最大限度重用代码,代码简洁
缺点:可读性差,且违背人思维习惯

MixIns机制:从命名规范上来处理多继承,提升代码的可读性,但不影响多继承,不改变多继承的本质
常用的后缀 : mixin,able,ible
且这个类功能必须单一
'''

# 我们先写个家禽类,作为父类,其他几个具体的家禽类,鸡鸭鹅
# 我们发现鸭和鹅都会游泳,我们直接把游泳放到父类,但总觉得不合理,因为鸡不会游泳
# 所以我们用多继承来实现
class Fowl:#家禽类
    # def swimming(self):
    #     print("游泳")
    pass
class SwimMixIn:
    #建立一个游泳类,会游泳的继承这个类即可
    # 鸭跟鹅专属技能类
    # 怎么让他清楚知道他就是个功能,而不作为父类
    # 这里就用到MixIn机制,类名后面加上MixIn
    # 而Fowl作为一个事务,是不能用MixIn,表示某个类是一个功能才能用,作为一个标识
    # 且这个类功能必须单一,责任单一
    # 这个类里面不能依赖、调用子类

    def swimming(self):
        print("游泳")

class Chicken(Fowl):#鸡
    pass

class Duck(SwimMixIn,Fowl):#鸭
    pass

class Goose(SwimMixIn,Fowl):#鹅
    pass
posted @ 2023-03-01 23:45  啃苹果的猪  阅读(3)  评论(0)    收藏  举报