python定义一个图形管理器类 1. 管理所有图形 2. 提供计算所有图形面积的方法,测试:创建一个圆形对象,一个矩形对象
时间: 2024-10-21 15:10:58 浏览: 13
在Python中,你可以定义一个名为`GraphicsManager`的图形管理器类,它将包含一个图形集合以及一个计算总面积的方法。这个类可以使用`list`或其他容器来存储图形实例,并提供必要的方法来添加、删除图形以及计算它们的总面积。
```python
class GraphicsManager:
def __init__(self):
self.graphics = []
def add_shape(self, shape):
"""
添加一个图形到管理器
:param shape: 图形对象 (比如Circle or Rectangle)
"""
self.graphics.append(shape)
def remove_shape(self, shape):
"""
从管理器中移除指定的图形
:param shape: 需要移除的图形对象
"""
if shape in self.graphics:
self.graphics.remove(shape)
def calculate_area(self):
"""
计算并返回所有图形的总面积
:return: 总面积
"""
total_area = sum([shape.area() for shape in self.graphics])
return total_area
# 示例:创建圆和矩形并加入图形管理器
class Circle:
def __init__(self, radius):
self.radius = radius
self.area = lambda: math.pi * self.radius ** 2
class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
self.area = lambda: self.width * self.height
circle = Circle(5)
rectangle = Rectangle(4, 6)
manager = GraphicsManager()
manager.add_shape(circle)
manager.add_shape(rectangle)
# 测试计算总面积
print(f"圆形和矩形的总面积: {manager.calculate_area()}")
```
在这个例子中,`GraphicsManager`类负责维护图形列表,并通过调用每个图形对象的`area()`方法来计算总和。用户可以根据需要创建自定义的图形类,如上述的`Circle`和`Rectangle`,然后实例化并添加到管理器中。
阅读全文