设计并实现一个矩形类 Rectangle,要求: (1)用左上角和右下角的坐标描述矩形; (2)计算面积、周长; (3)移动矩形; (4)合理的初始化,默认宽和高都是1。设计并测试程序
时间: 2024-01-18 22:02:56 浏览: 96
定义一个名为rectangle 的矩形类,其属性数据为矩形左上角和右上角的点的坐标能计算矩形的面积
5星 · 资源好评率100%
好的,这是一个很好的面向对象编程的例子,我来为你实现一个这样的类。
```python
class Rectangle:
def __init__(self, x1=0, y1=0, x2=1, y2=1):
self.x1 = x1
self.y1 = y1
self.x2 = x2
self.y2 = 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
```
这个类的初始化方法有四个参数,分别是矩形左上角和右下角的坐标。如果不传入参数,则会按照默认值初始化为一个左上角为(0,0),右下角为(1,1)的矩形。
面积和周长的计算比较简单,直接根据公式计算即可。
移动矩形的方法是通过传入dx和dy两个参数来实现的,即对矩形的四个顶点坐标都加上dx和dy。
下面是一个简单的测试程序:
```python
# 创建一个矩形
rect = Rectangle(1, 1, 4, 5)
# 输出矩形的面积和周长
print("矩形的面积为:", rect.area())
print("矩形的周长为:", rect.perimeter())
# 移动矩形
rect.move(2, 3)
# 再次输出矩形的面积和周长
print("移动后矩形的面积为:", rect.area())
print("移动后矩形的周长为:", rect.perimeter())
```
输出结果如下:
```
矩形的面积为: 12
矩形的周长为: 14
移动后矩形的面积为: 12
移动后矩形的周长为: 14
```
这个程序实现了一个简单的矩形类,并对其进行了测试。你可以根据自己的需求对其进行扩展和修改。
阅读全文