设计一个简单的图形类Shape,包含属性color(颜色)和方法draw()(绘制)。然后创建两个子类Rectangle和Circle,分别继承自Shape类,并实现自己的draw()方法。编写一个主类Test,创建两个子类对象,分别调用draw()方法,并将结果打印输出。
时间: 2024-03-23 12:35:53 浏览: 71
设计一个Shape接口和它的两个实现类Square和Circle,要求如下
好的,你可以这样实现Shape类及其两个子类:
```python
class Shape:
def __init__(self, color):
self.color = color
def draw(self):
print("Drawing a shape with color", self.color)
class Rectangle(Shape):
def __init__(self, color):
super().__init__(color)
def draw(self):
print("Drawing a rectangle with color", self.color)
class Circle(Shape):
def __init__(self, color):
super().__init__(color)
def draw(self):
print("Drawing a circle with color", self.color)
```
在上面的代码中,我们定义了一个`Shape`基类,它有一个`color`属性和一个`draw()`方法。`Rectangle`和`Circle`是`Shape`的两个子类,它们分别实现了自己的`draw()`方法。在子类的构造函数中,我们调用了`super().__init__(color)`,来继承`Shape`的`color`属性。
接下来,我们可以编写一个`Test`类来创建两个子类对象并调用它们的`draw()`方法:
```python
class Test:
def run(self):
rect = Rectangle("red")
circle = Circle("blue")
rect.draw()
circle.draw()
Test().run()
```
在上面的代码中,我们创建了一个`Test`类,它有一个`run()`方法。在`run()`方法中,我们创建了一个红色的矩形对象和一个蓝色的圆形对象,并且分别调用它们的`draw()`方法。最后,我们可以运行`Test().run()`来执行这个测试程序。
阅读全文