国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

函數(shù)回調(callback)

2019-11-10 20:45:17
字體:
來源:轉載
供稿:網(wǎng)友

C語言中實現(xiàn)

在Android的學習過程中經(jīng)常會聽到或者見到“回調”這個詞,那么什么是回調呢?所謂的回調函數(shù)就是:在A類中定義了一個方法,這個方法中用到了一個接口和該接口中的抽象方法,但是抽象方法沒有具體的實現(xiàn),需要B類去實現(xiàn),B類實現(xiàn)該方法后,它本身不會去調用該方法,而是傳遞給A類,供A類去調用,這種機制就稱為回調。 自己理解,函數(shù)本身也是進行指針形式。 函數(shù)注冊的過程,相當于形參的傳遞過程。形參內容改變,該類指針也所指向內容也會隨之變化。

最早接觸到回掉是在C語言學習的過程中.當時情形:前端發(fā)送機頂盒流式數(shù)據(jù),通過tuner傳到Demux。在這個過程需要進行分層處理,用到了Callback函數(shù)回調。這樣就很好的將底層和應用分開,底層只負責獲取數(shù)據(jù),數(shù)據(jù)業(yè)務邏輯交給應用處理。實現(xiàn)過程將應用中處理函數(shù)在底層中進行注冊.避免函數(shù)的全局使用,很好的封裝性。 //函數(shù)實現(xiàn) —函數(shù)實現(xiàn)體— void demux_tuner_callback(int event,int Error){ //函數(shù)具體實現(xiàn) 。。。 } —callback注冊— typedef void (*cyTUN_NotifyFunction_f)(int event,int Error); cyTUN_NotifyFunction_f function_; int cyTUN_Lock(int qamsize,int frequency,cyTUN_NotifyFunction_f callback){ //其他函數(shù)體 …. function_=callback;//這樣實現(xiàn)了函數(shù)注冊,之后可以用function_ } —使用方式—- cyTUN_Lock(6875,58600,demux_tuner_callback);

Android中實現(xiàn)

其中道理相類似

//接口相類似與C中函數(shù)指針interface MyInterface{ public void PRintTunerInfo();}//單獨的類相當于底層調用class MyClass{ public void MyClass(){ } public void printInfo(MyInterface myInterface){ myInterface.printTunerInfo();//這樣該類不必關心具體實現(xiàn) }}//具體調用實現(xiàn)public class Demo{ public static void main(String[] args){ MyClass myClass=new MyClass(); myClass.printInfo(new MyInterface{ @override public void printTunerInfo(){ System.out.println("TunerInfo:...."); } }); }}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉祥县| 昭觉县| 玛纳斯县| 曲靖市| 肃宁县| 舞钢市| 建始县| 邻水| 汝州市| 桐庐县| 九江县| 桃园县| 墨脱县| 南华县| 公安县| 温泉县| 黄冈市| 黑山县| 安仁县| 青海省| 乌鲁木齐县| 黑河市| 天等县| 浪卡子县| 天镇县| 通山县| 广州市| 乐山市| 昔阳县| 延庆县| 左云县| 富川| 延安市| 东乡族自治县| 买车| 陕西省| 和龙市| 喀喇| 惠水县| 视频| 平乡县|