定义一一个抽象类一形状, 其中包括求形状的面积的抽象方法。继承该 抽象类定义三⻆型、矩形、圆。分别创建一个三⻆形、矩形、圆存入-一个数组 中,将数组中各类图形的面积输出。
时间: 2024-03-01 07:53:01 浏览: 26
好的,下面是代码实现:
```python
from abc import ABC, abstractmethod
import math
class Shape(ABC):
@abstractmethod
def area(self):
pass
class Triangle(Shape):
def __init__(self, base, height):
self.base = base
self.height = height
def area(self):
return 0.5 * self.base * self.height
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
# 创建三角形、矩形、圆对象并存入数组中
shapes = [Triangle(10, 5), Rectangle(8, 6), Circle(3)]
# 输出各个图形的面积
for shape in shapes:
print("面积为:", shape.area())
```
运行结果:
```
面积为: 25.0
面积为: 48
面积为: 28.274333882308138
```
其中,`Shape` 是一个抽象类,定义了求形状面积的抽象方法 `area()`。`Triangle`、`Rectangle`、`Circle` 分别继承了 `Shape` 抽象类,并实现了 `area()` 方法,分别代表三角形、矩形和圆。
最后,创建了一个包含三角形、矩形、圆对象的数组,遍历数组并输出各个图形的面积。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)