5.设计一个Animal(动物)类,包括颜色属性和叫方法。再设计一个Fish(鱼)类,包括尾巴和颜色两个属性,以及叫方法。要求:Fish类继承Animal类,重写构造方法和叫方法。python代码及注释
时间: 2024-02-25 11:57:03 浏览: 200
好的,以下是Animal类和Fish类的代码实现:
```python
class Animal:
# Animal类有一个颜色属性和一个叫方法
def __init__(self, color):
self.color = color
def make_sound(self):
print("Animal makes sound.")
class Fish(Animal):
# Fish类继承Animal类,并添加了尾巴属性
def __init__(self, color, tail):
# 使用super()方法调用Animal类的构造方法,以便初始化继承的color属性
super().__init__(color)
self.tail = tail
# Fish类重写了Animal类的叫方法
def make_sound(self):
print("Fish makes sound.")
```
在上面的代码中,Animal类有一个属性color和一个方法make_sound。Fish类继承Animal类,它有两个额外的属性tail和color,并重写了make_sound方法。重写的make_sound方法会输出“Fish makes sound.”。
这样,我们就可以创建一个Fish对象,并调用它的属性和方法:
```python
fish = Fish("red", "long")
print(fish.color) # 输出:red
print(fish.tail) # 输出:long
fish.make_sound() # 输出:Fish makes sound.
```
注意,Fish类的构造方法重写了Animal类的构造方法,因此我们需要使用super()方法来调用Animal类的构造方法,以便初始化继承的属性。
阅读全文