[問題] Marker Interface__AS2.0

看板Flash作者 (不可或缺的咖啡因)時間17年前 (2008/03/11 12:29), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
事情是醬子滴,麻煩各位前輩幫我解決疑惑。 在某本書上,看到了關於as2.0的interface的解釋章節,目前讀到了 [Marker Interface] 書上解釋如下: 所謂的MI(縮短名稱),就是不帶任何方法,僅為提供類別實作的空白 介面。目的是提供設計人員參考用資料。 接著,我又讀到以下關於介面繼承,就像類別一樣,AS2.0的介面, 也只能單一繼承,不能多重繼承。 所以,書上舉了一個例子,而這就是我問題的來源,請版友解答: ===============================問題開始線===================================== 假設某三個類別為A.B.C,他們是某事件的處理類別,三個類別為不 同類別,並且都各自附加各自的介面[Listener]: AListener.BListener.CListener 並且建立共通類別[EventListener]: class EventListener{}; 書上的問題一: 假如將ABC三種類別的物件丟給EventListener,勢必會造成錯誤,因 為EventListener只能接收其中一種類型,所以要用以下的方法。 _____我真正的問題在這____: 問題一: 書上說,用ABC的三個Listener去擴充一個EventListener? = =" 書上沒說,這個EventListener是Interface還是class? 我想到的應該是class吧!因為繼承沒辦法一對多,可是醬子 又很奇怪。 問題二: 書上說,擴充完EventListener後,再將addListener()要傳入的 參數類型設為EventListener?醬子addListener()就可以接收 ABC三種類別的物件。 = =" 如果真的是這樣...那...又跟MI有什麼關係?都只有在講 類別,沒看到所謂的MI呀! 或者它說的其實是三個interface擴充的其實是MI? 抱歉,我真的被書中的例子搞混亂了~不曉得這樣講有沒有讓版 友瞭解我的意思,麻煩各位幫我解決疑惑,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.178.144
文章代碼(AID): #17rWgwAA (Flash)
文章代碼(AID): #17rWgwAA (Flash)