# __call__方法的作用
# 以制作蛋糕为例子
# 定义一个类 做蛋糕
class MakeCake:
# 和面
def huomian(self):
print('和面')
# 发酵
def fajiao(self):
print('发酵')
# 烘烤
def hongkao(self):
print('烘烤')
# 切型
def qiexing(self):
print('切型')
# 抹奶油
def monaiyou(self):
print('抹奶油')
# 加水果
def jiashuiguo(self):
print('加水果')
# 打包
def dabao(self):
print('打包')
# 封装成一个函数 不够高级
# def getCake(self):
# self.huomian()
# self.fajiao()
# self.hongkao()
# self.qiexing()
# self.monaiyou()
# self.jiashuiguo()
# self.dabao()
# 更进一步,封装成__call__方法 高级 显示了魔术方法的威力
def __call__(self):
self.huomian()
self.fajiao()
self.hongkao()
self.qiexing()
self.monaiyou()
self.jiashuiguo()
self.dabao()
# 实例化一个做蛋糕mc1
mc1 = MakeCake()
# 如果每次都这样调用制作蛋糕的方法,比较繁琐,考虑将这些步骤封装到一个方法中
# mc1.huomian()
# mc1.fajiao()
# mc1.hongkao()
# mc1.qiexing()
# mc1.monaiyou()
# mc1.jiashuiguo()
# mc1.dabao()
# mc1.getCake()
# 调用实例显示魔术方法的威力
mc1()
'''
和面
发酵
烘烤
切型
抹奶油
加水果
打包
'''