封装point类和线段line类。点有x,y属性;线段有起点和终点。主程序中创建两个点,用这两个点创建一条线段,输出线段的长度。要求:类封装完整,输出结果正确代码怎么写
时间: 2024-09-18 16:05:58 浏览: 78
声明一个类Point,然后利用它声明一个组合类Line,实现由用户输入两点确定直线的长度和斜率,编写程序实现测试
5星 · 资源好评率100%
为了实现这个需求,首先我们需要定义`Point`类和`Line`类,并包含必要的属性和方法。然后,在主程序中实例化这两个类并计算线段长度。
```python
# 定义 Point 类
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
# 返回点的坐标字符串表示
def __str__(self):
return f"({self.x}, {self.y})"
# 定义 Line 类,包含起始点和结束点属性,以及计算长度的方法
class Line:
def __init__(self, start, end):
self.start = start
self.end = end
# 计算两点之间的距离,即线段长度
def length(self):
dx = self.end.x - self.start.x
dy = self.end.y - self.start.y
return (dx**2 + dy**2)**0.5
# 主程序
def main():
# 创建两个点
point1 = Point(1, 2)
point2 = Point(4, 6)
# 使用点创建线段
line = Line(point1, point2)
# 输出线段长度
print(f"The length of the line segment is: {line.length()}")
if __name__ == "__main__":
main()
```
在这个代码中,我们首先定义了`Point`类,它有两个属性`x`和`y`,还提供了一个`__str__`方法用于打印点的坐标。然后,我们定义了`Line`类,它接受两个`Point`作为参数,存储起点和终点,并有一个`length`方法来计算线段的长度。
在主函数`main()`里,我们创建了两个点,然后通过这两个点创建了一条线段,并计算其长度后输出结果。
阅读全文