![图片[1]-python能重写方法吗-uusu优素-乐高,模型,3d打印,编程](http://uusucn.zbbe.cn/wp-content/uploads/2024/01/5e732516636b0614.jpg)
方法重写
基类(被继承的类)的成员都会被派生类(继承的新类)继承,当基类中的某个方法不完全适用于派生类时,就需要在派生类中重写父类的这个方法。
如下面的示例代码,基类中定义的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

















































暂无评论内容