代表团(Java)

时间:2014-07-06 11:10:34

标签: java oop

这个例子取自Thinking in Java book。

class FilterAdapter implements Processor {
  Filter filter;
  public FilterAdapter(Filter filter) {
    this.filter = filter;
  }
  public String name() { return filter.name(); }
  public Waveform process(Object input) {
    return filter.process((Waveform)input);
  }
}

然后,当仔细检查这段代码时,作者引起我们的注意,我们可能会注意到FilterAdapter类中的委托。

你可以帮我理解是什么意思吗?我已经阅读了30次此代码,看不到任何特别的内容。根据维基百科,“委托是指一个依赖另一个对象提供一组特定功能的对象”。好吧,我在这里找不到这样的东西。非常感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

要实现name(),适配器委托给Filter.name()

要实现process(),适配器委托给Filter.process()

如果不是委托,那是什么? 一个对象(适配器)依赖于另一个(过滤器)来提供一组指定的功能name()和{{ 1}})。

答案 1 :(得分:0)

filter传递到FilterAdapter。然后,对process的调用将处理委托给此过滤器。

您可以使用不同的过滤器实现,并使用相同的FilterAdapter类来调用所有过滤器。