论坛首页 海阔天空论坛

啥叫回调吖,以及其使用的场合。

浏览 8196 次
精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-09-29  
callback ,我理解就是把不变得东西提出来复用。变得留一个接口,让用户实现。
0 请登录后投票
   发表时间:2006-09-29  
spring里比较多
0 请登录后投票
   发表时间:2006-09-29  
do not call me,i will call u
这话概括的很好,但是最好定义一下,甚么是i,甚么是u就清楚了

i(me) 指的是运行着的代码
u指的是程序员

当我们这么写:
A a = new A();
a.method1();

此时method1是在编译期指定了,程序员知道运行时会执行甚么样的代码,这时就是u call me

而假设我们有一个方法method2(),有好几种不同的实现,我们会让method2变成一个抽象方法,此时我们调用method2()就有些不同了:
当我们写a.method2()时,并不确定唤起的是哪个方法,要在运行时把引用传进来,这时控制权是在运行时环境,看它传进去的是哪个具体方法。这时就变i call u 了。

对于java这样的静态语言来说,method不是一等公民,是从属于类或对象的,所以我们并不能直接的写a.method2(),必须以抽象父类或者接口注射进去
0 请登录后投票
   发表时间:2006-09-30  
FP函数式编程让回调很自然!

function callback1(a,b){
    return a-b;
}
function callback2(a,b){
    return b-a;
}
alert([1,2,3,4,5].sort());
alert([1,2,3,4,5].sort(callback1));
alert([1,2,3,4,5].sort(callback2));
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics