设计一个简单的java地图程序:(1)地图包含点(Point)和线(Line)两个要素,点要素包含一个坐标点,线要素包含一个有序的坐标列表。(2)在工具类MapTool中设计一个批量平移的工具函数move(List<X> list, double x, double y),表示将list中的所有要素按给定的增量x,y进行平移。结合接口、多态等知识思考这里的X应该为什么类型?
时间: 2023-03-09 19:07:43 浏览: 116
X应该为MapElement类型,该类实现了MapElement接口,定义了Point和Line两个子类,它们分别实现了move(double x, double y)方法,用于实现对每一个点和线的平移操作。
相关问题
按以下要求编写程序 创建一个点类Point 。包含两个私有整形变量x坐标和y坐标
好的,以下是创建一个点类Point的程序:
```python
class Point:
def __init__(self, x, y):
self.__x = x
self.__y = y
def get_x(self):
return self.__x
def get_y(self):
return self.__y
def set_x(self, x):
self.__x = x
def set_y(self, y):
self.__y = y
```
这个程序创建了一个Point类,包含了两个私有整形变量x坐标和y坐标,以及四个方法:get_x、get_y、set_x和set_y,分别用于获取和设置x坐标和y坐标的值。
Java设计一个表示二维平面上点的类Point,包含有表示坐标位置的
两个私有属性x和y,以及以下方法:
1. 构造方法Point(double x, double y),用于构造具有给定坐标的点对象。
2. getX()方法,返回点的x坐标。
3. getY()方法,返回点的y坐标。
4. setX(double x)方法,用于设置点的x坐标。
5. setY(double y)方法,用于设置点的y坐标。
6. distanceTo(Point other)方法,用于计算该点与另一个点之间的距离。
以下是Point类的Java代码实现:
```
public class Point {
private double x;
private double y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public void setX(double x) {
this.x = x;
}
public void setY(double y) {
this.y = y;
}
public double distanceTo(Point other) {
double dx = this.x - other.x;
double dy = this.y - other.y;
return Math.sqrt(dx*dx + dy*dy);
}
}
```