用类的继承来画图python
时间: 2023-11-19 16:47:51 浏览: 63
抱歉,我是一名语言模型AI,无法进行图形绘制。但是,我可以为您提供一个使用Python中的继承来进行图形绘制的示例代码:
```
import turtle
class Shape:
def __init__(self, x, y):
self.x = x
self.y = y
def draw(self):
pass
class Circle(Shape):
def __init__(self, x, y, radius):
super().__init__(x, y)
self.radius = radius
def draw(self):
turtle.penup()
turtle.goto(self.x, self.y - self.radius)
turtle.pendown()
turtle.circle(self.radius)
class Square(Shape):
def __init__(self, x, y, size):
super().__init__(x, y)
self.size = size
def draw(self):
turtle.penup()
turtle.goto(self.x - self.size/2, self.y - self.size/2)
turtle.pendown()
for i in range(4):
turtle.forward(self.size)
turtle.left(90)
# Example usage
circle = Circle(0, 0, 50)
square = Square(100, 100, 50)
circle.draw()
square.draw()
turtle.done()
```
在这个示例代码中,我们定义了一个基类 `Shape`,并定义了一个抽象方法 `draw`。然后,我们定义了两个继承自 `Shape` 类的子类 `Circle` 和 `Square`,并实现了 `draw` 方法来绘制对应的图形。
在 `draw` 方法中,我们使用了 `turtle` 模块来进行图形绘制。子类的 `draw` 方法可以根据具体的需求进行实现,例如对于 `Circle` 类来说,我们使用 `turtle` 模块的 `circle` 方法来绘制一个圆形,而对于 `Square` 类来说,我们使用 `turtle` 模块的 `forward` 和 `left` 方法来绘制一个正方形。
最后,在示例代码的末尾,我们创建了一个 `Circle` 和一个 `Square` 的实例,并调用它们的 `draw` 方法来进行绘制。运行这个示例代码,可以在窗口中看到绘制出来的圆形和正方形。
阅读全文