我有一个接口和通用设置器的问题,我现在试图解决几个小时。具有接口和抽象类的Java通用设置器
我有一个接口,我想定义一些getter和setter函数。 getter函数应该由一些抽象类来实现,因为它们通常不应该改变。另一方面,setter函数应该可以被定义的类多次覆盖。在这种情况下我尝试来形容,那将是对childClass应该能够实现具有相同的名称和不同的输入2个setFunctions值
Interface TestClass {
public abstract void setSomething(List<?> value);
public abstract List<String> getSomething();
}
abstract class AbstractTestClass implements TestClass {
List<String> someData;
public List<String> getSomething() {
return someData;
}
}
class TestClassImplementation extends AbstractTestClass() {
@Override
public void setSomething(List<String> data) {
someData = data;
}
@Override
public void setSomething(List<SomeOtherType> data) {
someData = convertToStringList(data);
}
private List<String> convertToStringList(List<SomeOtherType> data) {
... do some conversion ...
return returnList;
}
}
希望这给了我想做的想法。我甚至更喜欢在抽象类中使用stringlist实现setSomething。但是这两个setter必须是可达的。 谢谢
如果他自己实现一个列表,如MyList >,该怎么办?只是问问。 – gonzalon
如果他们使用不同的类作为参数(例如* StringList *,* SomeOtherList *,...),他可以拥有多个setSomething方法,但泛型对此无用。 –