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
人生应该删繁留简,任世事摇曳,心始终如莲,安静绽放。 --白落梅

浙公网安备 33010602011771号