帮写一个python代码,已知具体形状类均具有两个方法GetArea()和GetColor(),定义一个shape类,里哟个它作为基类派生出Rectangle、Ciecle等具体形状类,分别用来得到形状的面积和颜色。最后编写一个词测试程序 对产生的类的功能进行验证
时间: 2024-02-27 14:51:39 浏览: 82
CircleTest_java_设计一个circle_点类_圆类_
5星 · 资源好评率100%
好的,下面是代码实现:
```python
# 定义形状基类
class Shape:
def GetArea(self):
pass
def GetColor(self):
pass
# 定义矩形类
class Rectangle(Shape):
def __init__(self, width, height, color):
self.width = width
self.height = height
self.color = color
def GetArea(self):
return self.width * self.height
def GetColor(self):
return self.color
# 定义圆形类
class Circle(Shape):
def __init__(self, radius, color):
self.radius = radius
self.color = color
def GetArea(self):
return 3.14 * self.radius ** 2
def GetColor(self):
return self.color
# 测试程序
r = Rectangle(2, 3, 'red')
print('矩形面积为:', r.GetArea())
print('矩形颜色为:', r.GetColor())
c = Circle(5, 'blue')
print('圆形面积为:', c.GetArea())
print('圆形颜色为:', c.GetColor())
```
输出结果:
```
矩形面积为: 6
矩形颜色为: red
圆形面积为: 78.5
圆形颜色为: blue
```
以上就是代码实现,基类 `Shape` 中定义了 `GetArea()` 和 `GetColor()` 方法,分别用来获取形状的面积和颜色。子类 `Rectangle` 和 `Circle` 分别继承了基类 `Shape`,并且实现了 `GetArea()` 和 `GetColor()` 方法。最后在测试程序中创建了矩形和圆形对象,并分别调用了它们的方法进行测试。
阅读全文