创建一个基类Shape,包含一个area()方法。矩形、圆形和三角形类分别继承Shape类,并重写area()方法,实现计算各自图形面积的功能。通过calculate_area()函数,利用多态实现了不同几何图形面积的计算。
时间: 2024-05-05 07:21:50 浏览: 204
几何图形面积计算
4星 · 用户满意度95%
下面是实现代码:
```python
import math
class Shape:
def area(self):
pass
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return math.pi * self.radius ** 2
class Triangle(Shape):
def __init__(self, base, height):
self.base = base
self.height = height
def area(self):
return 0.5 * self.base * self.height
def calculate_area(shapes):
for shape in shapes:
print("Area of shape:", shape.area())
# 测试代码
rect = Rectangle(5, 10)
circ = Circle(7)
tri = Triangle(4, 6)
shapes = [rect, circ, tri]
calculate_area(shapes)
```
输出结果:
```
Area of shape: 50
Area of shape: 153.93804002589985
Area of shape: 12.0
```
在上面的代码中,我们首先定义了一个名为`Shape`的基类,它包含一个`area()`方法。接着,我们定义了三个继承自`Shape`类的子类:`Rectangle`、`Circle`和`Triangle`。每个子类都重写了`area()`方法,实现了不同几何图形的面积计算。最后,我们定义了一个`calculate_area()`函数,它接受一个包含各种几何图形的列表,并使用多态来计算每个图形的面积。在测试代码中,我们创建了一个矩形、一个圆形和一个三角形,并将它们放入一个列表中,然后通过`calculate_area()`函数计算它们的面积。
阅读全文