class Fruit: def __init__(self,color="绿色"): Fruit.color=color def harvest(self): print("水果原来是:"+Fruit.color+"的!") class Apple(Fruit): def __init__(self): print("我是苹果") apple=Apple() apple.harvest()让他不报错
时间: 2024-03-02 18:47:51 浏览: 74
iso.zip_The Moon
这段代码存在一个问题,即在子类 Apple 中没有调用父类 Fruit 的构造函数。因此,需要在子类的构造函数中显式地调用父类的构造函数,即使用 super() 函数。修改后的代码如下:
```
class Fruit:
def __init__(self, color="绿色"):
Fruit.color = color
def harvest(self):
print("水果原来是:" + Fruit.color + "的!")
class Apple(Fruit):
def __init__(self):
super().__init__()
print("我是苹果")
apple = Apple()
apple.harvest()
```
运行后输出:
```
我是苹果
水果原来是:绿色的!
```
阅读全文