现在我有一个现有的类,我想将其重构为一个枚举。该类当前扩展了另一个来自外部库的类。因为我仍然想从那个扩展类的一些逻辑中受益,同时我想重构。应该怎么做?
在 Java 中,一个enum
类不能扩展另一个类,但它可以实现接口。还是将其重构为 Enum 的想法已经错了?让我在下面的示例代码中展示它。
假设现有类 Existing 正在扩展另一个类 Parent 并且 Parent 类来自外部库并且它不是接口。
class Existing extends Parent{
public static final Existing A = new Existing(...);
....
public static final Existing Z = new Existing(...);
public Existing(Srting attr1, String attr1){
super(attr1, attr2);
}
public Existing(String attr1){
super(attr1);
}
}
这个想法是让那些静态的最终字段成为枚举,例如:
enum NewDesign{
A(attr1, attr2),
B(attr1),
C(attr1, attr2)
//...;
//constructor etc.
//...
}
并可能在需要时添加新的额外属性,如下所示:
enum NewDesign{
A(attr1, attr2, newAttr),
B(attr1, newAttr),
C(attr1, attr2, newAttr),
//...
//constructor etc.
//...
}
慕妹3146593
慕村225694
森林海
相关分类