用Python定义并实现一个矩形类Rectangle,其私有实例成员为矩形的左下角与右上角两个点的坐标,能设置左下角和右上角两个点的位置,能根据左下角与右上角两个点的坐标计算矩形的长、宽、周长和面积,另外根据需要适当添加其他成员方法和特殊方法(如构造方法)。
时间: 2024-05-06 18:18:37 浏览: 172
下面是一个实现上述要求的Python代码:
```python
class Rectangle:
def __init__(self, x1, y1, x2, y2):
self.__left_bottom = (x1, y1)
self.__right_top = (x2, y2)
def set_left_bottom(self, x, y):
self.__left_bottom = (x, y)
def set_right_top(self, x, y):
self.__right_top = (x, y)
def get_width(self):
return abs(self.__right_top[0] - self.__left_bottom[0])
def get_height(self):
return abs(self.__right_top[1] - self.__left_bottom[1])
def get_perimeter(self):
return 2 * (self.get_width() + self.get_height())
def get_area(self):
return self.get_width() * self.get_height()
def __str__(self):
return "Rectangle: ({}, {}), ({}, {})".format(
self.__left_bottom[0], self.__left_bottom[1],
self.__right_top[0], self.__right_top[1])
```
上述代码定义了一个名为`Rectangle`的类,其中:
- `__init__`方法是类的构造方法,用于初始化矩形的左下角和右上角两个点的坐标。
- `set_left_bottom`和`set_right_top`方法用于设置左下角和右上角两个点的位置。
- `get_width`和`get_height`方法分别计算矩形的宽度和高度。
- `get_perimeter`和`get_area`方法分别计算矩形的周长和面积。
- `__str__`方法是特殊方法,用于以字符串的形式返回矩形对象的信息。
下面是一个简单的使用示例:
```python
rect = Rectangle(0, 0, 5, 10)
print(rect) # 输出:Rectangle: (0, 0), (5, 10)
print(rect.get_width()) # 输出:5
print(rect.get_height()) # 输出:10
print(rect.get_perimeter()) # 输出:30
print(rect.get_area()) # 输出:50
rect.set_left_bottom(2, 2)
rect.set_right_top(8, 12)
print(rect) # 输出:Rectangle: (2, 2), (8, 12)
print(rect.get_width()) # 输出:6
print(rect.get_height()) # 输出:10
print(rect.get_perimeter()) # 输出:32
print(rect.get_area()) # 输出:60
```
阅读全文