【发布时间】:2012-09-21 05:16:57
【问题描述】:
我对 Java 中的委托和回调术语有一些误解。
class MyDriver {
public static void main(String[] argv){
MyObject myObj = new MyObject();
// definition of HelpCallback omitted for brevity
myObj.getHelp(new HelpCallback () {
@Override
public void call(int result) {
System.out.println("Help Callback: "+result);
}
});
}
}
class MyObject {
public void getHelp(HelpCallback callback){
//do something
callback.call(OK);
}
}
是回调还是委托(Are delegates and callbacks the same or similar?)?
那么如何实现另一个呢?
【问题讨论】:
-
基于“委托”和“回调”的哪个定义? Delegate 表示基于上下文的一堆东西,例如 Objective-C 和 C# 的含义有很大不同。
-
我只对 Java 和 Objective C 的上下文感兴趣(我想知道如何在纯 Java 中实现它)。
-
接受的答案是关于 C#,这显然不是你的情况。此外,您不能只说“例如”。我的观点是,即使你真的非常非常迂腐,设计模式之间也没有真正的硬性区别。
-
我有点困惑,因为在开始学习 Objective C 时,我遇到了与 java 回调非常相似的委托 -> 所以我想感受一下它们之间的区别。
标签: java design-patterns delegates callback