用JAVA编写一个二维点和三维点类。要求:(1)二维点类有x,y坐标属性,编写计算点到坐标原点距离函数;(2)三维点从二维点派生而来,编写计算点到坐标原点聚类函数。
时间: 2024-02-28 17:52:03 浏览: 82
好的,我来回答你的问题。
首先,我们可以定义一个二维点类,如下所示:
```java
public class Point2D {
private double x;
private double y;
public Point2D(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public double distanceToOrigin() {
return Math.sqrt(x * x + y * y);
}
}
```
在这个类中,我们定义了x和y坐标属性,并且实现了计算点到坐标原点距离的函数distanceToOrigin(),使用了勾股定理的公式来计算。
接下来,我们可以从二维点类派生一个三维点类,如下所示:
```java
public class Point3D extends Point2D {
private double z;
public Point3D(double x, double y, double z) {
super(x, y);
this.z = z;
}
public double getZ() {
return z;
}
public double distanceToOrigin() {
return Math.sqrt(super.getX() * super.getX() + super.getY() * super.getY() + z * z);
}
}
```
在这个类中,我们继承了二维点类,同时添加了z坐标属性。我们还重写了计算点到坐标原点距离的函数distanceToOrigin(),使用了三维坐标系中的距离公式来计算。
这样,我们就实现了一个二维点和三维点的类,并且分别实现了计算点到坐标原点距离的函数。
阅读全文