設計類別的策略
物件導向設計是相當複雜的一項主題,而關於這項主題的學術研究和應用實務不勝枚舉。不過,下面有幾個建議的方法可幫助您入門。
- 考量這個類別的實體將在應用程式中扮演什麼角色。一般來說,物件的角色包括:
- 值物件:這些物件主要用來當做資料的容器,可能有多個屬性但方法較少 (有時甚至沒有方法)。這些物件通常是用程式碼表示清楚定義的項目,例如音樂播放程式中的 Song 類別 (代表一首歌) 或 Playlist 類別 (代表歌曲的概念群組)。
- 顯示物件:這些是實際出現在畫面上的物件。例如下拉式清單或狀態報告等使用者介面元素,或像是電玩人物的圖形元素等。
- 應用程式結構:這些物件在應用程式執行的邏輯或處理中扮演各種支援角色。例如在生物模擬中執行特定計算的物件、在音樂播放程式中負責同步處理刻度控制和音量讀出值的物件、管理電玩遊戲規則的物件,或是在繪圖應用程式載入儲存圖片的物件。
- 決定類別需要的特定功能。不同類型的功能通常會成為類別的方法。
- 如果類別要當做值物件使用,那麼決定實體將包含哪些資料。這些項目可以當做屬性。
- 由於類別是特別為專案所設計,因此重點在於提供應用程式所需的功能。您可以試試看自己回答下列問題:
- 您的應用程式將儲存、追蹤和操作哪些資訊?這將有助於確定所需的值物件和屬性。
- 需要執行哪些動作,例如當應用程式一開始載入的時候、當按下特定按鈕的時候、當影片停止播放的時候等等。這些可視為方法 (或如果「動作」只變更個別值,則可視為屬性)。
- 針對各動作,類別需要知道哪些資訊來執行該動作?這些資訊就是方法的參數。
- 隨著應用程式執行,哪些情況會使類別產生變化,而且應讓應用程式的其它部分知道的?這些項目就可以當做事件。
- 如果目前有物件類似於您需要的物件,只不過缺少了一些想加入的額外功能,可以考慮建立子類別 (即以現有類別的功能為基礎建立類別,而無須從頭開始定義所有功能)。例如,假設您要建立類別當做畫面上的視覺物件,就可以使用現有顯示物件 (例如 Sprite 或 MovieClip) 的行為做為類別的基礎。在這種情況下,MovieClip (或 Sprite) 會是「基底類別」,而您的類別將延伸該類別。如需有關建立子類別的詳細資訊,請參閱繼承。
Flash CS3
有新的意見加入至這個頁面時,傳送電子郵件給我
| 意見報告
目前頁面: http://livedocs.adobe.com/flash/9.0_tw/main/00000032.html