子类重写父类同名属性和方法

# 1. 师父类, 属性和方法
class Master(object):
def __init__(self):
self.kongfu = '[古法煎饼果子配方]'

def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')


# 为了验证多继承,添加School父类
class School(object):
def __init__(self):
self.kongfu = '[黑马煎饼果子配方]'

def make_cake(self):
print(f'运用{self.kongfu}制作煎饼果子')


# 2.定义徒弟类,继承师父类 和 学校类,
class Prentice(School, Master):
def __init__(self):
self.kongfu = '[独创方法]'

def make_cake(self):
print(f'运用{self.kongfu}制作')


# 3.用徒弟类创建对象,调用实例属性和方法
daqiu = Prentice()
print(daqiu.kongfu)
daqiu.make_cake()

print(Prentice.__mro__) # 查看继承的父类层级关系


# 结论:如果子类和父类拥有同名属性和方法,子类创建对象调用属性和方法的时候,调用的是子类里面的同名属性和方法
posted @ 2021-11-05 10:39  冰溏  阅读(582)  评论(0编辑  收藏  举报