设计一点类Point,成员变量有坐标x,y,添加相应属性能设置和获得点的坐标,在点类Point内有一方法distance(),能计算该点与其他点之间的距离,设计一主程序,实例化两个点对象,能利用属性设置点的坐标,并显示两点之间的距离。
时间: 2024-02-13 18:05:01 浏览: 97
实验三、类的设计 类的设计 类的设计
好的,我可以为您设计一个类Point,同时提供一个主程序来演示其使用方法。
```python
import math
class Point:
def __init__(self, x=0, y=0):
self._x = x
self._y = y
@property
def x(self):
return self._x
@x.setter
def x(self, value):
self._x = value
@property
def y(self):
return self._y
@y.setter
def y(self, value):
self._y = value
def distance(self, other):
dx = self.x - other.x
dy = self.y - other.y
return math.sqrt(dx*dx + dy*dy)
if __name__ == "__main__":
p1 = Point()
p1.x = 1
p1.y = 1
p2 = Point()
p2.x = 4
p2.y = 5
print("p1:", p1.x, p1.y)
print("p2:", p2.x, p2.y)
print("Distance between p1 and p2:", p1.distance(p2))
```
在这个程序中,我们定义了一个类Point,它有x和y两个成员变量。我们使用@property和@setter来定义属性,使得我们可以方便地设置和获取点的坐标。我们还定义了一个方法distance,用于计算该点与其他点之间的距离。
在主程序中,我们实例化两个点对象p1和p2,并使用属性设置它们的坐标。然后,我们打印出这两个点的坐标,并计算它们之间的距离,最后打印出距离值。
运行这个程序,输出如下:
```
p1: 1 1
p2: 4 5
Distance between p1 and p2: 5.0
```
这说明我们的程序已经成功地计算出了两个点之间的距离。
阅读全文