第12適配器模式和外觀模式.ppt

第12適配器模式和外觀模式.ppt

ID:59458245

大?。?.84 MB

頁數(shù):28頁

時(shí)間:2020-09-15

第12適配器模式和外觀模式.ppt_第1頁
第12適配器模式和外觀模式.ppt_第2頁
第12適配器模式和外觀模式.ppt_第3頁
第12適配器模式和外觀模式.ppt_第4頁
第12適配器模式和外觀模式.ppt_第5頁
資源描述:

《第12適配器模式和外觀模式.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第十二章適配器模式和外觀模式適配器1面向?qū)ο筮m配器2適配鴨子的火雞publicinterfaceDuck{publicvoidquack();publicvoidfly();}publicclassMallardDuckimplementsDuck{publicvoidquack(){System.out.println("Quack");}publicvoidfly(){System.out.println("I'mflying");}}鴨子接口,具備呱呱叫和飛行能力。綠頭鴨是鴨子的子類。3適配鴨子的火雞(續(xù))publ

2、icinterfaceTurkey{publicvoidgobble();publicvoidfly();}publicclassWildTurkeyimplementsTurkey{publicvoidgobble(){System.out.println("Gobblegobble");}publicvoidfly(){System.out.println("I'mflyingashortdistance");}}火雞不會(huì)呱呱叫,只會(huì)咯咯叫。火雞也會(huì)飛,雖然飛不遠(yuǎn)?;痣u的一個(gè)具體實(shí)現(xiàn)。4火雞適配器假定缺鴨子對(duì)象,用火

3、雞對(duì)象來冒充,需要為火雞對(duì)象寫一個(gè)適配器。publicclassTurkeyAdapterimplementsDuck{Turkeyturkey;publicTurkeyAdapter(Turkeyturkey){this.turkey=turkey;}publicvoidquack(){turkey.gobble();}publicvoidfly(){for(inti=0;i<5;i++){turkey.fly();}}}火雞飛行距離短,連續(xù)5次調(diào)用火雞的fly()方法。構(gòu)造器獲得適配對(duì)象的引用。5測(cè)試適配器publi

4、cclassDuckTestDrive{publicstaticvoidmain(String[]args){MallardDuckduck=newMallardDuck();WildTurkeyturkey=newWildTurkey();DuckturkeyAdapter=newTurkeyAdapter(turkey);System.out.println("TheTurkeysays...");turkey.gobble();turkey.fly();System.out.println("TheDucksa

5、ys...");testDuck(duck);System.out.println("TheTurkeyAdaptersays...");testDuck(turkeyAdapter);}staticvoidtestDuck(Duckduck){duck.quack();duck.fly();}}火雞包裝進(jìn)火雞適配器中,使它看起來象一只鴨子。測(cè)試火雞。測(cè)試?guó)喿?。測(cè)試適配器:傳入一個(gè)假裝鴨子的火雞。6測(cè)試結(jié)果火雞咯咯叫,且飛行距離短。鴨子呱呱叫,并能飛行。Quack()被調(diào)用時(shí),適配器咯咯叫;fly()被調(diào)用時(shí),適配器

6、飛行了5次。testDuck()方法根本不知道,這其實(shí)是一只假裝成鴨子的火雞。7適配器模式分析8客戶使用適配器過程①客戶通過目標(biāo)接口調(diào)用適配器的方法對(duì)適配器發(fā)出請(qǐng)求。②適配器使用被適配者接口把請(qǐng)求轉(zhuǎn)換成被適配者的一個(gè)或多個(gè)調(diào)用接口。③客戶收到調(diào)用結(jié)果,但并未察覺這一切是適配器在起轉(zhuǎn)換作用??蛻艉捅贿m配者是解耦的。9適配器模式定義類圖10對(duì)象和類適配器有兩種適配器:對(duì)象適配器和類適配器。前一頁是對(duì)象適配器類圖,類適配器類圖如下:對(duì)象適配器可適配某個(gè)類及其子類。但是,需要實(shí)現(xiàn)被適配者,多一個(gè)對(duì)象,效率低點(diǎn)。11家庭影院爆米花

7、機(jī)放大器調(diào)諧器12觀賞電影⑴打開爆米花機(jī)⑵開始爆米花⑶燈光調(diào)暗⑷放下屏幕⑸打開投影機(jī)⑹將投影機(jī)的輸入切換到DVD⑺將投影機(jī)切換到寬屏方式⑻打開功放⑼將功放輸入設(shè)置為DVD⑽將功放設(shè)置為環(huán)繞立體聲⑾將功放音量調(diào)到中(5)⑿打開DVD播放器⒀開始播放DVD看完還得一個(gè)個(gè)關(guān)掉!13開機(jī)任務(wù)寫成類和方法調(diào)用popper.on();popper.pop();lights.dim(10);//燈光調(diào)暗screen.down();//放下屏幕projector.on();projector.setInput(dvd);projecto

8、r.wideScreenMode();amp.on();amp.setDvd(dvd);amp.setSurroundSound();amp.setVolume(5);dvd.on();dvd.play(movie);打開爆米花機(jī),開始爆米花打開投影機(jī),設(shè)置為DVD和寬屏模式…打開功放,設(shè)置為DVD,調(diào)整成環(huán)繞立體聲

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。