定义一个 Animal 类,包含用于描述动物运动的 move 方法和用于发声的 speak 方法。再由 Ani mal 类派生3个子类,分别重载这两个方法,并通过向上转型进行方法调用。
时间: 2024-05-07 16:21:53 浏览: 85
下面是一个实现 Animal 类和三个子类的示例代码:
```python
class Animal:
def move(self):
print("This animal moves.")
def speak(self):
print("This animal speaks.")
class Cat(Animal):
def move(self):
print("The cat walks.")
def speak(self):
print("Meow!")
class Dog(Animal):
def move(self):
print("The dog runs.")
def speak(self):
print("Woof!")
class Bird(Animal):
def move(self):
print("The bird flies.")
def speak(self):
print("Chirp chirp!")
if __name__ == '__main__':
animals = [Cat(), Dog(), Bird()]
for animal in animals:
animal.move()
animal.speak()
```
在这个示例中,Animal 类定义了两个方法:move 和 speak。这两个方法都只是打印一些文本,但它们可以被 Animal 的子类重载。
Cat、Dog 和 Bird 类都继承了 Animal 类,并重载了 move 和 speak 方法。在主程序中,我们创建了一个包含这三个类的 Animal 列表,并通过循环调用它们的 move 和 speak 方法。由于这些对象都是 Animal 类的实例,它们可以通过向上转型进行方法调用。
阅读全文