如何用java类变量之类的枚举实现运行时的polimorphism?

时间:2017-03-22 15:39:56

标签: java enums run-time-polymorphism

我为客户的拖拉机开发了一个项目。现在我必须在该项目中为Combines添加相同的功能。所以我添加了一个名为Machine的基类和两个扩展Tractor的{​​{1}}和Combine子类。

除了一些基本的更改之外,我的业务逻辑代码(即Machine类中的抽象方法名称)保持不变,代码适用于拖拉机组合

我面临的唯一问题是,我有一个 TractorConstant 类,其中包含大量的Enums,它们在整个项目中使用。

我想用这些Enums实现运行时多态性,例如

课程 MachineConstant

中的枚举
Machine

课程 TractorConstant

中的枚举
class MachineConstant{
  public enum Enum195_AreMeterAlert {
     VALUE, LATITUDE, LONGITUDE, DATE, TIME
  }

  public EnumB1_Enum195_AreMeterAlert getEnum195_AreMeterAlert();
}

CombineConstant

中的枚举
class TractorConstant{
  public enum Enum195_AreMeterAlert {
     ACRE_VALUE, LATITUDE, LONGITUDE, DATE, TIME
  }

 public EnumB1_Enum195_AreMeterAlert getEnum195_AreMeterAlert(){
   return TractorConstant.Enum195_AreMeterAlert;
 }
}

我的项目中会有一个class CombineConstant{ public enum Enum195_AreMeterAlert { ACRE_VALUE, HARVEST_VALUE, LATITUDE, LONGITUDE, DATE, TIME } public EnumB1_Enum195_AreMeterAlert getEnum195_AreMeterAlert(){ return CombineConstant.Enum195_AreMeterAlert; } } 引用,根据用户选择的机器类型,我会初始化该引用

e.g。 MachineConstant

在代码中,我想调用MachineConstant machineConstant = new CombineConstant()

但是现在我的线路出现machineConstant.getEnum195_AreMeterAlert()错误                 Expression Expected

那么如何删除此错误并且枚举是否可以实现像这样的运行时polimorphism?或者我还要对这些枚举做些什么呢?

0 个答案:

没有答案