譬如說...有一個動作叫做 "在家觀賞DVD"
你需要做的動作...
- 打開電視
- 打開DVD播放器
- 將電視輸入切換到DVD播放
- 將音量轉成20
- 開始播DVD
在這裡 你就使用到
TV物件
- 打開電視方法
- 切換到DVD播放方法
- 音量轉成20
DVD 物件
- 打開DVD播放器方法
- 開始播DVD方法
--------------------------------------------------------------------------------------------------------------------
轉換成 Java
TV.start();
DVD.start();
TV.setInput(dvd);
TV.setSound(20);
DVD.play(movie);
每看一次DVD你都要寫這麼多程式碼.
也許你會想說,我寫成一個方法就好啦,全部包在裡面,這樣就可以一直呼叫囉.
沒錯!!! 正是要這麼做.
只是我們寫成 "家庭戲院" 類別,這樣可以建立物件跟呼叫使用 "在家觀賞DVD" 方法
// 家庭戲院類別 public class HomeTheaterFacade { TV tv; DVD dvd; // 取得TV、DVD物件,從建構子傳入 public HomeTheaterFacade(TV tv, DVD dvd) { this.tv = tv; this.dvd = dvd; } // 看電影方法 public void watchMovie(String movie){ tv.start(); dvd.start(); tv.setInput(TV.DVD_mode); tv.setSound(20); dvd.play(movie); } // 結束電影方法 public void endMovie(){ dvd.stop(); dvd.eject(); dvd.off(); tv.setInput(TV.TV_mode); tv.off(); } }
--------------------------------------------------------------------------------------------------------------------
如此一來,你只要執行一個方法就可以"在家觀賞DVD",是不是很方便呢?
沒有留言:
張貼留言