【发布时间】:2011-12-19 23:11:36
【问题描述】:
是否可以在接口中创建泛型方法?
说我想创建一个界面
public interface Merge {
public void merge(Object host, Object other);
}
然后我希望实现类实现这个,但是定义主机和其他的类型。
例如
public class FooBazMerge implements Merge {
public void merge(Foo host, Baz other){
// merge some properties
}
}
我想这样做的原因是我可以做这样的事情
public class SomeObject {
private Merge merge;
private Foo foo;
private Baz baz;
public setMerge(Merge merge){
this.merge = merge
}
public void merge(SomeObject anotherObject){
merge.merge(this.foo, anotherObject.getBaz());
}
}
我基本上想将 someObject 的合并责任/逻辑委托给 FooBazMerge。这样我就可以更改其合并方式的实现,而不必在每次需要进行调整时都与域模型混为一谈。
【问题讨论】:
标签: java generics interface delegation