1.设计抽象基类Shape类 2.由Shape类派生出Circle圆类,Rectangle矩形类,Triangle三角形类 3.用函数printArea分别实现圆类、矩形类、三角形类的面积 4.用基类Shape类的指针输出圆类、矩形类、三角形类的面积
时间: 2024-03-10 08:44:42 浏览: 23
好的,您的问题是如何设计抽象基类Shape类,并由Shape类派生出Circle圆类、Rectangle矩形类、Triangle三角形类,并用函数printArea分别实现它们的面积,最后用基类Shape类的指针输出它们的面积。下面是代码实现:
```python
# 定义抽象基类Shape
class Shape:
def printArea(self):
pass
# Circle圆类
class Circle(Shape):
def __init__(self, r):
self.r = r
def printArea(self):
area = 3.14 * self.r * self.r
print("圆的面积为:", area)
# Rectangle矩形类
class Rectangle(Shape):
def __init__(self, a, b):
self.a = a
self.b = b
def printArea(self):
area = self.a * self.b
print("矩形的面积为:", area)
# Triangle三角形类
class Triangle(Shape):
def __init__(self, a, h):
self.a = a
self.h = h
def printArea(self):
area = 0.5 * self.a * self.h
print("三角形的面积为:", area)
# 用基类Shape类的指针输出圆类、矩形类、三角形类的面积
s = [Circle(2), Rectangle(2, 3), Triangle(2, 3)]
for shape in s:
shape.printArea()
```
输出结果为:
```
圆的面积为: 12.56
矩形的面积为: 6
三角形的面积为: 3.0
```
希望这个答案能够解决您的问题。