我为客户的拖拉机开发了一个项目。现在我必须在该项目中为组合添加相同的功能。所以我添加了一个名为 Machine 的基类和两个子类Tractor
并Combine
扩展了Machine
.
因此,除了一些基本更改之外,我的业务逻辑代码(即Machine
类中的抽象方法名称)保持不变,并且代码对Tractor和Combine都适用。
我面临的唯一问题是,我有一个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;
那么如何消除这个错误,枚举是否有可能实现这样的运行时多态呢?或者我与这些枚举还有什么关系?