写在20110920:Callback的理解

转载的,感觉这样理解还是蛮通俗的~~~~~
通俗点说,就是事件结束后的回调方法。
比如吃饭,有人吃完饭要散步,有人吃完饭要吃水果,有人吃完饭要休息,等等各种不同的需求,但是吃饭是大家都要做的
现在要你提供一个动作:吃饭+饭后做的事
然后你可以设计一个吃饭的方法:  eat(),因为吃饭么就张嘴吃,没什么区别,大家都会用的这个动作,但是饭后的事呢?每个人的动作不一样,怎么办呢?由于饭后的事只有调用的人才知道,那么这个饭后的动作只能由调用的人来完成,如何让他们自己完成各自不同的饭后动作,而你又能访问到这个饭后的动作来帮他们实现?
就是定义一个标准,接口。用接口来定义吃完饭之后做的事:
interface EatAfter{
   do();
}
现在,只要在eat()方法中加个参数eat(EatAdter eatafter ),你就可以在你自己的eat方法中实现饭后做的事
eat(EatAdter eatafter ){
  //吃饭
  eatafter.do();
}
只要谁来调用你的eat方法,就要传给你饭后的动作,你做完吃饭的事后,就回调这个eatafter动作,此时你就可以给其他人提供吃饭+饭后的事这个完整的动作啦

猜你喜欢

转载自meohao.iteye.com/blog/1909088
今日推荐