创建一个Shape抽象类,它带有一个area()方法,利用继承产生子类三角形类Trangle类,圆Circle类,矩形Rectangle类, 分别实现计算面积的方法。在测试类中创建圆Circle类对象c,矩形Rectangle类对象r,计算相应图形的面积。
时间: 2024-05-08 07:22:24 浏览: 102
下面是实现代码:
```python
# 创建抽象类 Shape
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
# 创建子类 Triangle
class Triangle(Shape):
def __init__(self, base, height):
self.base = base
self.height = height
def area(self):
return 0.5 * self.base * self.height
# 创建子类 Circle
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * self.radius ** 2
# 创建子类 Rectangle
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
# 测试类
if __name__ == '__main__':
c = Circle(3) # 创建圆对象
r = Rectangle(2, 4) # 创建矩形对象
# 输出各个图形的面积
print("圆的面积为:", c.area())
print("矩形的面积为:", r.area())
# 创建三角形对象
t = Triangle(3, 4)
print("三角形的面积为:", t.area())
```
输出结果:
```
圆的面积为: 28.26
矩形的面积为: 8
三角形的面积为: 6.0
```
阅读全文