封装点point类和线段line类,点有下,y属性,线段有起点和终点,主程序中创建两个点,用这两个点创建一条线段,输出线段的长度,
时间: 2024-09-23 16:01:21 浏览: 40
在Python中,我们可以设计一个简单的封装结构来表示点和线段。首先,我们定义`Point`类用于表示二维坐标系中的点,然后定义`LineSegment`类,其中包含两个`Point`实例作为其端点,并计算并存储线段的长度。
```python
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __str__(self):
return f"({self.x}, {self.y})"
class LineSegment:
def __init__(self, start_point, end_point):
self.start = start_point
self.end = end_point
self.length = ((self.end.x - self.start.x) ** 2 + (self.end.y - self.start.y) ** 2) ** 0.5
def __str__(self):
return f"Line segment from {self.start} to {self.end}, length: {self.length:.2f}"
# 主程序
def main():
point_a = Point(1, 2)
point_b = Point(4, 6)
line_segment = LineSegment(point_a, point_b)
print(line_segment)
if __name__ == "__main__":
main()
```
在这个例子中,`main()`函数创建了两个点`point_a`和`point_b`,然后通过它们创建了一个`LineSegment`对象。运行这个程序会输出线段从`(1, 2)`到`(4, 6)`的长度以及其表示形式。
阅读全文