用一個故事講回調函數

一.回調函數:所謂回調,就是客戶程序CLIENT調用服務程序SERVER中的某個函數SA,然後SERVER又在某個時候反過來調用CLIENT中的某個函數CB,對於CLIENT來說,這個CB便叫做回調函數。

二.回調的故事內容:有一天晚上兒子餓了,告訴她媽媽餓了(註冊),得知飯沒有做好給她媽一個對講機。過了一段時間,兒子用對講機call媽媽(調用媽媽的方法),媽媽call回告訴兒子飯做好了(回調兒子的方法)。看代碼:

三.代碼:

/*
 * @author iSunday_Leo
 */
public class Me implements Phone {
public void phone() {// 回調函數
System.out.println("喂,兒子飯可以米西米西了");
}


public static void main(String[] args) {
System.out.println("板凳,瓜子準備,故事開始了……");
Mom mom = new Mom();
System.out.println("媽媽我餓了");
mom.hungry(new Me());// 註冊“我”
mom.askIsOK();// 調用媽媽中的方法
}
}


/*
 * @author iSunday_Leo
 */
public interface Phone {
public void phone();
}


/*
 * @author iSunday_Leo
 */
public class Mom {
private Phone mySonPhone;


public void hungry(Phone callIn) {
System.out.println("我知道了,等會,正在做飯");
mySonPhone = callIn;
}


public void askIsOK() {
System.out.println("打開對講機,通知兒子飯做好了");
mySonPhone.phone();// 回調兒子中的回調函數
}
}

四.運行結果:

板凳,瓜子準備,故事開始了……
媽媽我餓了
我知道了,等會,正在做飯
打開對講機,通知兒子飯做好了
喂,兒子飯可以米西米西了


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章