定义一个shape类,利用它作为基类派生出Rectangle、Circle等具体形状类,已知具体形状类均具有两个方法GetArea和GetColor,分别用来得到形状的面积和颜色。最后编,写一个测试程序对产生的类的功能进行验证。
时间: 2023-11-13 18:40:05 浏览: 67
您好!以下是定义一个Shape类,并派生出Rectangle和Circle类的例代码:
```python
class Shape:
def __init__(self, color):
self.color = color
def get_area(self):
pass
def get_color(self):
return self.color
class Rectangle(Shape):
def __init__(self, color, width, height):
super().__init__(color)
self.width = width
self.height = height
def get_area(self):
return self.width * self.height
class Circle(Shape):
def __init__(self, color, radius):
super().__init__(color)
self.radius = radius
def get_area(self):
return 3.14 * (self.radius ** 2)
# 测试程序
rectangle = Rectangle("red", 4, 5)
circle = Circle("blue", 3)
print("Rectangle area:", rectangle.get_area())
print("Rectangle color:", rectangle.get_color())
print("Circle area:", circle.get_area())
print("Circle color:", circle.get_color())
```
该程序定义了一个Shape类作为基类,并在派生类Rectangle和Circle中实现了get_area和get_color方法。测试程序创建了一个Rectangle对象和一个Circle对象,并调用了它们的方法进行验证。
希望这能帮到您。如果您有任何其他问题,请随时提问!
阅读全文