创建一个Shape类,定义三个getArea()方法,分别实现求圆面积、矩形面积和三角形面积。创建测试类,求出半径为5的圆面积、边长为5和6的矩形面积以及三边长为3、4、5的三角形面积。python
时间: 2024-12-11 21:28:16 浏览: 38
首先,我们来创建一个名为`Shape`的基础类,它有一个抽象方法`get_area()`:
```python
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def get_area(self):
pass
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def get_area(self):
return 3.14 * (self.radius ** 2)
class Rectangle(Shape):
def __init__(self, length, width):
self.length = length
self.width = width
def get_area(self):
return self.length * self.width
class Triangle(Shape):
def __init__(self, side1, side2, side3):
self.side1 = side1
self.side2 = side2
self.side3 = side3
# 使用海伦公式计算三角形面积,这里假设三条边构成的是一个普通三角形,而不是等腰或直角三角形
def get_area(self):
s = (self.side1 + self.side2 + self.side3) / 2
return (s * (s - self.side1) * (s - self.side2) * (s - self.side3)) ** 0.5
# 测试类
def test_shape_areas():
circle = Circle(5)
rectangle = Rectangle(5, 6)
triangle = Triangle(3, 4, 5)
print("Circle area:", circle.get_area())
print("Rectangle area:", rectangle.get_area())
print("Triangle area:", triangle.get_area())
test_shape_areas()
```
在这个例子中,`Shape`是一个抽象基类,它的子类`Circle`, `Rectangle`, 和`Triangle`分别实现了各自的`get_area()`方法。在`test_shape_areas()`函数中,我们实例化了这三个形状,并计算它们的面积。
阅读全文
相关推荐



















