继承与类型差异

时间:2012-08-16 14:21:02

标签: java inheritance

我有一个由轴的子类型扩展的整体axisModel。问题是这个实现的抽象方法将是一个类中的日期和另一个类中的double。我能够提出的唯一解决方案是在实例化这些类时使它们成为泛型并做出假设。有更优雅的解决方案吗?下面是一些示例代码,以显示我正在尝试做的事情。

public class abstract axisModel {
 abstract double method();
}

public class priceAxisModel extend axisModel {
 public double method() {
  //do stuff
 }
}

public class dateAxisModel extend axisModel {
 public date method() {
  //do stuff
 }
}

1 个答案:

答案 0 :(得分:4)

正如您所指出的,在这种情况下使用泛型将是一个很好的解决方案。例如:

public class abstract AxisModel<T> {
 abstract T method();
}

public class PriceAxisModel extend AxisModel<Double> {
 public Double method() {
  //do stuff
 }
}

public class DateAxisModel extend AxisModel<Date> {
 public Date method() {
  //do stuff
 }
}

至于我,这段代码看起来很优雅。