0

我为客户的拖拉机开发了一个项目。现在我必须在该项目中为组合添加相同的功能。所以我添加了一个名为 Machine 的基类和两个子类TractorCombine扩展了Machine.

因此,除了一些基本更改之外,我的业务逻辑代码(即Machine类中的抽象方法名称)保持不变,并且代码对TractorCombine都适用。

我面临的唯一问题是,我有一个TractorConstant类,其中包含许多在整个项目中使用的枚举。

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

MachineConstant类中的枚举

class MachineConstant{
  public enum Enum195_AreMeterAlert {
     VALUE, LATITUDE, LONGITUDE, DATE, TIME
  }

  public EnumB1_Enum195_AreMeterAlert getEnum195_AreMeterAlert();
}

TractorConstant类中的枚举

class TractorConstant{
  public enum Enum195_AreMeterAlert {
     ACRE_VALUE, LATITUDE, LONGITUDE, DATE, TIME
  }

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

和类CombineConstant中的枚举

class CombineConstant{
  public enum Enum195_AreMeterAlert {
     ACRE_VALUE, HARVEST_VALUE, LATITUDE, LONGITUDE, DATE, TIME
  }

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

我将MachineConstant在我的项目中有一个 ' 的引用,并且根据用户选择的机器类型,我将初始化该引用

例如MachineConstant machineConstant = new CombineConstant()

在代码中,我想调用machineConstant.getEnum195_AreMeterAlert()

但现在我得到Expression Expected了这条线的错误
return TractorConstant.Enum195_AreMeterAlert;

那么如何消除这个错误,枚举是否有可能实现这样的运行时多态呢?或者我与这些枚举还有什么关系?

4

0 回答 0