写个相关代码python
时间: 2024-06-22 17:04:19 浏览: 37
在Python中,实现多态通常是在继承和接口(如果用的是Java或C++那样的接口)的概念上。这里我将简单演示一下如何使用方法重写(即动态多态)来创建一个基础的多态示例,使用类和方法:
```python
# 基础类
class Animal:
def sound(self):
raise NotImplementedError("子类必须实现sound方法")
# 子类,实现sound方法
class Dog(Animal):
def sound(self):
return "Woof!"
class Cat(Animal):
def sound(self):
return "Meow!"
# 动态调用,多态示例
def animal_sound(animal):
print(animal.sound())
# 创建实例并调用
dog = Dog()
cat = Cat()
animal_sound(dog) # 输出: Woof!
animal_sound(cat) # 输出: Meow!
```
在这个例子中:
1. `Animal`是一个抽象基类,它有一个未实现的方法`sound()`,这是用来强制它的子类必须提供自己的声音实现。
2. `Dog`和`Cat`是`Animal`的子类,并实现了`sound()`方法,各自发出不同的声音。
3. `animal_sound()`函数接受一个`Animal`类型的参数,但实际上可以根据传入的具体对象类型调用相应的声音方法,这就是多态的体现。