🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 子类重写父类的同名属性和方法 ~~~ class Master(object): def __init__(self): self.kongfu = "古法烤冷面配方" def make_cake(self): print("[古法] 按照 <%s> 制作了一份烤冷面..." % self.kongfu) class School(object): def __init__(self): self.kongfu = "现代烤冷面配方" def make_cake(self): print("[现代] 按照 <%s> 制作了一份烤冷面..." % self.kongfu) class Prentice(School, Master): # 多继承,继承了多个父类 def __init__(self): self.kongfu = "夏氏烤冷面配方" def make_cake(self): print("[夏氏] 按照 <%s> 制作了一份烤冷面..." % self.kongfu) # 如果子类和父类的方法名和属性名相同,则默认使用子类的 # 叫 子类重写父类的同名方法和属性 laoxia = Prentice() print(laoxia.kongfu) # 子类和父类有同名属性,则默认使用子类的 laoxia.make_cake() # 子类和父类有同名方法,则默认使用子类的 # 子类的魔法属性__mro__决定了属性和方法的查找顺序 print(Prentice.__mro__) ~~~ #### 剧情发展: > 老夏的新配方大受欢迎,但是有些顾客希望也能吃到古法配方和现代配方的烤冷面...(子类调用父类的同名属性和方法)