利用java程序给point类添加以下几个求两点间距的多态方法
时间: 2023-06-11 22:06:47 浏览: 59
可以给Point类添加以下几个求两点间距的多态方法:
1. 计算两点间的欧几里得距离:
```
public double distance(Point p) {
double dx = this.x - p.x;
double dy = this.y - p.y;
return Math.sqrt(dx*dx + dy*dy);
}
```
2. 计算两点间的曼哈顿距离:
```
public double manhattanDistance(Point p) {
double dx = Math.abs(this.x - p.x);
double dy = Math.abs(this.y - p.y);
return dx + dy;
}
```
3. 计算两点间的切比雪夫距离:
```
public double chebyshevDistance(Point p) {
double dx = Math.abs(this.x - p.x);
double dy = Math.abs(this.y - p.y);
return Math.max(dx, dy);
}
```
这三个方法都是多态方法,因为它们都接受一个Point对象作为参数,并且返回一个double类型的值,可以根据需要进行重载。
相关问题
利用java的程序给point类添加以下几个求两点间距的多态方法
可以在Point类中添加以下多态方法来计算两点之间的距离:
```java
public class Point {
private double x;
private double y;
// 构造方法
public Point(double x, double y) {
this.x = x;
this.y = y;
}
// 获取x坐标
public double getX() {
return x;
}
// 获取y坐标
public double getY() {
return y;
}
// 计算两点之间的欧几里得距离
public static double distance(Point p1, Point p2) {
double dx = p1.x - p2.x;
double dy = p1.y - p2.y;
return Math.sqrt(dx * dx + dy * dy);
}
// 计算两点之间的曼哈顿距离
public static double distance(Point p1, Point p2, String distanceType) {
if (distanceType.equals("manhattan")) {
double dx = Math.abs(p1.x - p2.x);
double dy = Math.abs(p1.y - p2.y);
return dx + dy;
} else {
return distance(p1, p2);
}
}
}
```
其中,`distance` 方法计算两点之间的欧几里得距离,`distance` 方法还可以根据传入的 `distanceType` 参数来计算两点之间的曼哈顿距离。如果 `distanceType` 为 `manhattan`,则计算曼哈顿距离;否则,计算欧几里得距离。
给point类添加以下几个求两点间距离的多态方法
用中文回答:
要给point类添加以下几个方法来求两点间距离的多态方法:
1. double distance(point other); // 计算当前点到other点的距离
2. double distance(point A, point B); // 计算A点和B点之间的距离