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

# 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 @   冰溏  阅读(596)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示