设计并实现一个矩形类Rectangle,要求: (1)用左上角和右下角的坐标描述矩形。 (2)计算面积,周长。 (3)移动矩形。 (4)合理的初始化,默认宽和高都是1.
时间: 2024-02-04 22:04:05 浏览: 19
好的,我来设计并实现一个满足你要求的矩形类Rectangle,具体代码如下:
```python
class Rectangle:
def __init__(self, x1=0, y1=0, x2=1, y2=1):
self.x1, self.y1 = x1, y1
self.x2, self.y2 = x2, y2
def area(self):
return abs(self.x2 - self.x1) * abs(self.y2 - self.y1)
def perimeter(self):
return 2 * (abs(self.x2 - self.x1) + abs(self.y2 - self.y1))
def move(self, dx, dy):
self.x1 += dx
self.y1 += dy
self.x2 += dx
self.y2 += dy
```
这个矩形类的初始化函数接受四个参数,分别是矩形左上角的x和y坐标,以及矩形右下角的x和y坐标。这样可以通过这两个点的坐标确定一个矩形。
接下来,我们实现了三个方法:
- `area`:用来计算矩形的面积。
- `perimeter`:用来计算矩形的周长。
- `move`:用来移动矩形。dx和dy分别表示在x和y方向上的移动距离。
最后,我们还为矩形类提供了合理的初始化,如果不传入参数,则默认矩形的宽为1,高也为1。
希望这个矩形类能够满足你的需求!