调用父类同名方法
定义类:
class Drinkable:
def drinkAdvice(self):
print("请健康饮用产品!") # 定义方法drinkAdvice(),表示饮用建议
class Wine(Drinkable): # 继承Drinkable的drinkAdvice()方法并更新,
def __init__(self, color): # 定义一个String类型的成员变量color
self.color = color
def showColor(self):
print(f"酒的颜色:{self.color}")
def drinkAdvice(self): # 定义一个方法showColor()用于输出酒的颜色
Drinkable.drinkAdvice(self)
print("少喝酒多吃菜!")
class Milk(Drinkable): # 继承Drinkable的drinkAdvice()方法并更新
def __init__(self, falvor): # 定义一个String类型的成员变量flavor
self.falvor = falvor
def showFalvor(self): # 定义一个方法showFavor()用于输出奶的风味。
print(f"牛奶的风味:{self.falvor}")
def drinkAdvice(self):
Drinkable.drinkAdvice(self)
print("多喝牛奶长的高")
class Drinker(Wine, Milk): #定义一个Drinker类,表示饮用者
def __init__(self, falvor, color):
Milk.__init__(self, falvor)
Wine.__init__(self, color)
def toDrink(self, drink): # 定义一个方法toDrink (self,drink)
if drink == '酒':
Wine.drinkAdvice(self) # 判断drink引用的哪个子类的实例
Wine.showColor(self)
elif drink == '牛奶':
Milk.drinkAdvice(self)
Milk.showFalvor(self)
主程序:
d = Drinker('草莓', '红色')
d.toDrink('牛奶')
d.toDrink('酒')
结果: