5.设计一个Animal(动物)类,包括颜色属性和叫方法。再设计一个Fish(鱼)类,包括尾巴和颜色两个属性,以及叫方法。要求:Fish类继承Animal类,重写构造方法和叫方法。
时间: 2024-02-22 10:00:35 浏览: 144
好的,这是一个面向对象编程的问题,让我来为您解答。下面是代码示例:
```python
class Animal:
def __init__(self, color):
self.color = color
def make_sound(self):
pass # 抽象方法,子类需要重写
class Fish(Animal):
def __init__(self, color, tail):
super().__init__(color)
self.tail = tail
def make_sound(self):
print("鱼儿不会叫,只会动")
```
在上面的代码中,我们定义了一个 Animal 类和一个 Fish 类。Fish 类继承了 Animal 类,并且重写了构造方法和 make_sound 方法。
Animal 类中有一个 color 属性和一个 make_sound 方法,make_sound 方法是一个抽象方法,需要子类重写。Fish 类中新增了一个 tail 属性,并且重写了 make_sound 方法。
注意,我们在 Fish 类的构造方法中用了 super() 方法来调用 Animal 类的构造方法,以便初始化 color 属性。在 make_sound 方法中,我们打印出了一个“鱼儿不会叫,只会动”的字符串,表示鱼儿不会发出声音。
这样,我们就实现了 Animal 和 Fish 两个类。可以通过创建 Fish 类的实例来测试这个类是否正常工作。
阅读全文