假设我有两个类 A 和 B,它们的内部状态由枚举状态表示。B 类扩展 A 以添加新功能,但它也添加了新的内部状态。准确地说,它通过将 A 的一个状态分为两个新状态来增加细粒度的状态支持。
我还需要使用 PropertyChangeSupport 来监控状态变化。
目前,我在枚举状态的 A 类中定义了所有状态。我有受保护的方法 setState() 和 getState()。为了从外部检查状态,我编写了方法 isAvaible()、isComplete() 等。这些方法仅存在于适当的类中,具体取决于它们的层次结构和状态支持。
我真的不喜欢这个想法,在父类中定义了所有状态。如何在 Java 中正确实现这一点?据我所知,不可能对枚举使用继承。