创建一个 Point类, 包含坐标x、y。然后创建一个MyPoint类, 定义两个读写变量 start 和 end, 数据类型为 Point。MyPoint()方法: 计算 start和 end之间的
时间: 2024-11-24 18:40:28 浏览: 29
首先,我们来创建一个`Point`类,用于表示二维空间中的一个点,包含`x`和`y`两个坐标属性:
```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 void setX(double newX) {
x = newX;
}
public double getY() {
return y;
}
public void setY(double newY) {
y = newY;
}
@Override
public String toString() {
return "Point{" +
"x=" + x +
", y=" + y +
'}';
}
}
```
接下来,我们将创建一个名为`MyPoint`的类,它继承自`Point`,并添加了`start`和`end`属性以及计算它们之间距离的方法:
```java
public class MyPoint extends Point {
private Point start;
private Point end;
// 构造函数,接受开始和结束点的坐标
public MyPoint(double startX, double startY, double endX, double endY) {
super(startX, startY);
start = new Point(startX, startY);
end = new Point(endX, endY);
}
// 设置和获取 start 和 end 的坐标
public void setStart(Point startPoint) {
start = startPoint;
}
public Point getStart() {
return start;
}
public void setEnd(Point endPoint) {
end = endPoint;
}
public Point getEnd() {
return end;
}
// 计算 start 和 end 两点之间的欧氏距离
public double calculateDistance() {
double deltaX = end.getX() - start.getX();
double deltaY = end.getY() - start.getY();
return Math.sqrt(deltaX * deltaX + deltaY * deltaY);
}
@Override
public String toString() {
return "MyPoint{" +
"start=" + start +
", end=" + end +
", distance=" + calculateDistance() +
'}';
}
}
```
阅读全文