假设我有一个类ApiClient(自动生成),它没有实现接口。
还有另一个类X,它扩展了ApiClient以获得一些额外的重写方法。
class X extends ApiClient{
X (Settings s){
super();
this.setPropertyInheritedfromApiClient-A("food");
this.setPropertyInheritedfromApiClient-B(thisClassMethod());
}
thisClassMethod(){ return "wee" ; }
}
类X的类似,并且每个类都派生自与ApiClient相同的类,但由于这些是自动生成的,因此包将不同,并且某些字段的值将与url不同。要离题,每个ApiClient代表一个不同的WebService端点。
虽然我可以继续为每个对应于每个ApiClient(为不同的WebService Endpoint定义)的每个类编写类,但逻辑基本上保持不变。
我想要像
这样的东西class X extends T {
X (Settings s){
super();
this.setPropertyInheritedfromApiClient-A("food"); // FAIL since Type of super class is not known
this.setPropertyInheritedfromApiClient-B(thisClassMethod()); //FAIL
}
}
如何从Java Generics方式或应用哪种设计模式处理此问题?
我无法想到问题的标题 - 请建议