举一个Python中多态典型工作任务
时间: 2023-12-25 11:10:58 浏览: 68
一个典型的Python中多态的工作任务是实现一个图形绘制程序。这个程序需要支持绘制不同类型的图形,比如矩形、圆形、椭圆等。每个图形都有自己的绘制方法和属性,但是它们都可以被认为是“图形”这个类的子类。我们可以定义一个抽象的“图形”类,其中包含一个抽象方法“draw”,每个子类都必须实现这个方法,以实现自己的绘制逻辑。然后,我们可以使用向上转型的方式,将每个子类的对象都转换成“图形”对象,这样就可以使用同一个绘制方法来绘制不同类型的图形了,实现了多态的效果。例如:
```python
class Shape:
def draw(self):
pass
class Rectangle(Shape):
def draw(self):
print("Drawing a rectangle...")
class Circle(Shape):
def draw(self):
print("Drawing a circle...")
class Ellipse(Shape):
def draw(self):
print("Drawing an ellipse...")
shapes = [Rectangle(), Circle(), Ellipse()]
for shape in shapes:
shape.draw()
```
输出结果为:
```
Drawing a rectangle...
Drawing a circle...
Drawing an ellipse...
```
这个例子展示了Python中多态的典型应用,通过定义一个抽象类和多个子类,使得我们可以在不同的对象之间实现同样的方法调用,进而实现灵活的程序设计。
阅读全文