子類需要知道特定事件何時發生在其超類中,但超類有多種方式來破壞新聞。以下是2:事件或抽象方法,最佳實踐
- 分派事件
- 調用一個抽象方法,子類可能最終超越
我在想,如果最佳實踐建議的方法比其他之一。
P.S.當我想到這個問題時,我正在使用ActionScript。
子類需要知道特定事件何時發生在其超類中,但超類有多種方式來破壞新聞。以下是2:事件或抽象方法,最佳實踐
我在想,如果最佳實踐建議的方法比其他之一。
P.S.當我想到這個問題時,我正在使用ActionScript。
這取決於你試圖解決的問題的性質。子類所做的處理是否需要異步?如果是這樣,那就是支持基於事件的設計的論據。你的班級中沒有子類的東西是否想知道它?這是支持基於事件的設計的另一個論據。除此之外,提供抽象方法可能是最容易的,它可以作爲邏輯的一個鉤子,因爲這是程序員期望的很多內容(大部分是我的經驗)。
優秀點!在我的問題中,兩個問題的答案都是否定的。我想我會使用鉤子方法。 – 2009-12-28 23:34:35
OOP是關於向對象發送消息的對象。最好的方法是定義一個方法並覆蓋它。
當然,你提出了一個錯誤的二分法:當你派發一個事件時,它最終會調用一些可能被重寫的類的方法。
抽象的方法是最好的。隨着這個事件你正在引入不必要的複雜性
這裏沒有「最好」的方法,兩者都有不同的語義,我將在這裏概述。
重載方法:
活動:
看起來您正在使用特定語言或開發環境,因爲您在「事件」和「方法」之間創建了二分法。請說出它是什麼,以便人們可以給你更好的答案。 – Andrew 2009-12-28 23:21:36