设计一个父类,设计一个子类,子类中通过super初始化父类。例如可以定义一个二维数据点类,定义一个三维数据点类。定义一个测试类对类进行测试。
时间: 2024-10-16 14:04:41 浏览: 10
在面向对象编程中,创建一个父类和一个子类来体现多态和继承是很常见的做法。这里我们以"数据点"为例,假设有一个抽象的父类`DataPoint`,它包含了所有数据点的基本属性如坐标值:
```java
public abstract class DataPoint {
protected double x;
protected double y;
public DataPoint(double x, double y) {
this.x = x;
this.y = y;
}
// 其他通用的方法,比如获取坐标、设置坐标等
// 抽象方法,需要在子类中具体实现
public abstract double getDimension();
}
```
接着我们可以创建一个具体的二维数据点类`TwoDDataPoint`和一个三维数据点类`ThreeDDataPoint`,它们都是`DataPoint`的子类:
```java
public class TwoDDataPoint extends DataPoint {
@Override
public double getDimension() {
return 2;
}
}
public class ThreeDDataPoint extends DataPoint {
protected double z;
public ThreeDDataPoint(double x, double y, double z) {
super(x, y); // 通过super调用父类构造函数
this.z = z;
}
@Override
public double getDimension() {
return 3;
}
}
```
最后,在一个测试类`TestPoints`中,我们可以实例化这两种数据点并调用公共方法来验证:
```java
public class TestPoints {
public static void main(String[] args) {
DataPoint twoD = new TwoDDataPoint(0, 0);
System.out.println(twoD.getDimension()); // 输出 2
DataPoint threeD = new ThreeDDataPoint(0, 0, 0);
System.out.println(threeD.getDimension()); // 输出 3
}
}
```
阅读全文