我有一个对象(Object o),它有一个父类作为属性,该父类有两个抽象方法和一个映射作为属性。一个是 validateMap(),另一个是 extractMap()。然后我有两个子类,我在其中实现这两个方法并使用 extractMap() 方法设置超级地图。我想做的是根据一些业务逻辑,每个子类定义不同类型的地图。
ParentClass parent = new ParentClass();
Object o = new Object();
if (business logic deciding which type of map needed TypeA or TypeB){
ChildClassTypeA childClassA = new ChildClassA();
childClassA.extractMap();
o.setPArentClass(childClassA);
}
ParentClass{
public Map <? , ? > map
abstract void extract()
abstract void validate()
}
ChildClassTypeA{
public void extract(){
Map<String, TypeA > map = new Map<>();
super.setMap(map);
}
public void validate(){}
}
ChildClassTypeB{
public void extract(){
Map<String, TypeB > map = new Map<>();
super.setMap(map);
}
public void validate(){}
}
我的问题是如何在父类中定义映射属性,以便能够通过子类接受两种不同的类型
蝴蝶不菲
相关分类