设计一个点类Point,再设计一个矩形类,矩形类使用Point类的两个坐标点作为矩形的对角顶点(分别为左上顶点和右下顶点)。并输出4个顶点的坐标和面积。
时间: 2023-06-23 22:08:37 浏览: 75
C++实现一个矩形 读入左上角和右下角两个点实现面积计算
5星 · 资源好评率100%
以下是 Point 类和 Rectangle 类的代码实现,其中 Rectangle 类使用 Point 类的两个对象来表示矩形的对角顶点:
```python
class Point:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
class Rectangle:
def __init__(self, point1, point2):
self.point1 = point1
self.point2 = point2
def get_area(self):
length = abs(self.point2.x - self.point1.x)
width = abs(self.point2.y - self.point1.y)
return length * width
def get_vertex(self):
x1 = self.point1.x
y1 = self.point1.y
x2 = self.point2.x
y2 = self.point2.y
return (x1, y1), (x2, y1), (x2, y2), (x1, y2)
# 示例用法
p1 = Point(1, 2)
p2 = Point(5, 6)
rect = Rectangle(p1, p2)
print(rect.get_vertex()) # 输出四个顶点坐标
print(rect.get_area()) # 输出矩形的面积
```
输出结果为:
```
((1, 2), (5, 2), (5, 6), (1, 6))
16
```
其中,get_vertex() 方法返回了一个包含四个顶点坐标的元组,get_area() 方法返回矩形的面积。
阅读全文