python能重写方法吗

图片[1]-python能重写方法吗-uusu优素-乐高,模型,3d打印,编程

方法重写

基类(被继承的类)的成员都会被派生类(继承的新类)继承,当基类中的某个方法不完全适用于派生类时,就需要在派生类中重写父类的这个方法。

如下面的示例代码,基类中定义的harvest()方法,无论派生类是什么水果都显示"水果…",如果想要针对不同水果给出不同的提示,可以在派生类中重写harvest()方法。例如,在创建派生类Orange()时,重写harvest()方法如下:

classFruit:
color='绿色'
defharvest(self,color):
print(f"水果是:{color}的!")
print("水果已经收获...")
print(f"水果原来是{Fruit.color}的!")
classApple(Fruit):
color="红色"
def__init__(self):
print("我是苹果")
classOrange(Fruit):
color="橙色"
def__init__(self):
print("\n我是橘子")
defharvest(self,color):#重写harvest
print(f"橘子是:{color}的!")
print("橘子已经收获...")
print(f"橘子原来是{Fruit.color}的!")
apple=Apple()#实例化Apple()类
apple.harvest(apple.color)#在Apple()中调用harvest方法,并将Apple()的color变量传入
orange=Orange()
orange.harvest(orange.color)#在Orange()中调用harvest方法,并将Orange()的color变量传入
执行结果:
我是苹果
水果是:红色的!
水果已经收获...
水果原来是绿色的!
我是橘子
橘子是:橙色的!
橘子已经收获...
橘子原来是绿色的!
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容