设计圆形,长方形,三角形类,并计算周长和面积
时间: 2024-03-27 19:17:49 浏览: 273
好的,让我帮您设计这些类。
首先,我们来定义一个形状 Shape 类,作为这三个形状的父类。这个类应该包含以下方法:
- `calculate_area()`:计算形状的面积
- `calculate_perimeter()`:计算形状的周长
接下来,我们来定义 Circle(圆形)、Rectangle(长方形)和 Triangle(三角形)这三个子类。
Circle 类:
```python
import math
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def calculate_area(self):
return math.pi * self.radius ** 2
def calculate_perimeter(self):
return 2 * math.pi * self.radius
```
Rectangle 类:
```python
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def calculate_area(self):
return self.width * self.height
def calculate_perimeter(self):
return 2 * (self.width + self.height)
```
Triangle 类:
```python
class Triangle(Shape):
def __init__(self, side_a, side_b, side_c):
self.side_a = side_a
self.side_b = side_b
self.side_c = side_c
def calculate_area(self):
s = (self.side_a + self.side_b + self.side_c) / 2
return math.sqrt(s * (s - self.side_a) * (s - self.side_b) * (s - self.side_c))
def calculate_perimeter(self):
return self.side_a + self.side_b + self.side_c
```
现在我们已经定义了这三个子类,每个类都有自己的 `calculate_area()` 和 `calculate_perimeter()` 方法,可以计算出每种形状的面积和周长了。
接下来,我们来测试一下这些类:
```python
# 创建一个圆形对象
c = Circle(5)
print("圆形的周长为:", c.calculate_perimeter())
print("圆形的面积为:", c.calculate_area())
# 创建一个长方形对象
r = Rectangle(4, 6)
print("长方形的周长为:", r.calculate_perimeter())
print("长方形的面积为:", r.calculate_area())
# 创建一个三角形对象
t = Triangle(3, 4, 5)
print("三角形的周长为:", t.calculate_perimeter())
print("三角形的面积为:", t.calculate_area())
```
输出结果:
```
圆形的周长为: 31.41592653589793
圆形的面积为: 78.53981633974483
长方形的周长为: 20
长方形的面积为: 24
三角形的周长为: 12
三角形的面积为: 6.0
```
以上就是我们设计的三个形状类,可以很方便地计算出每个形状的周长和面积了。
阅读全文