基于BREW平臺(tái)的多態(tài)機(jī)制實(shí)現(xiàn)
(作者未知) 2011/6/23
(接上頁(yè))
{
INHERIT_CWindow(IWindow);
};
具體實(shí)現(xiàn)的功能如圖1所示:
上述代碼實(shí)現(xiàn)了一個(gè)結(jié)構(gòu)體CWindow,其中包含三個(gè)成員,一個(gè)是指向函數(shù)表結(jié)構(gòu)體類型的指針vtIWindow,另兩個(gè)是普通成員指針。要通過指針vtIWindow訪問函數(shù)的話,則只需要?jiǎng)?chuàng)建對(duì)應(yīng)接口的函數(shù)表的實(shí)例,把接口實(shí)例的對(duì)應(yīng)的函數(shù)表保存起來,然后用修改過的函數(shù)表結(jié)構(gòu)體替換到接口之中,當(dāng)調(diào)用對(duì)應(yīng)的接口函數(shù)的時(shí)候, 就具有了特殊定義的行為。
通過上述工作,已經(jīng)得到了一個(gè)窗體的基接口類,在其基礎(chǔ)上可以派生自己的接口類來構(gòu)造不同的窗體。并在派生接口類窗體中增加自己的數(shù)據(jù)成員,也可以增加接口行為,這樣,就可以構(gòu)造出負(fù)責(zé)各種功能的窗體來滿足移動(dòng)應(yīng)用的需要。
4 結(jié)束語(yǔ)
文中針對(duì)手機(jī)開發(fā)的具體問題提出相應(yīng)的解決方案,該方案均是在BREW手機(jī)實(shí)際開發(fā)中總結(jié)出來的。這些方法和框架代碼具有很大的可重用性,很好的解決了在BREW手機(jī)開發(fā)中頻繁出現(xiàn)的頁(yè)面遷移問題,有一定現(xiàn)實(shí)意義。
參考文獻(xiàn)
[1]唐際宇,楊永田,王驥.BREW平臺(tái)內(nèi)部接口機(jī)制的探討[J].航空電子技術(shù), 2006(3).
|