Re: [問題] Marker Interface__AS2.0

看板Flash作者 (CJ Cat)時間16年前 (2008/03/11 14:36), 編輯推噓4(408)
留言12則, 2人參與, 最新討論串2/3 (看更多)
看不太懂你的問題耶...有幾句話意思不太清楚 ※ 引述《icedesign (不可或缺的咖啡因)》之銘言: : 並且建立共通類別[EventListener]: ↑意思是共同的superclass嗎? : 假如將ABC三種類別的物件丟給EventListener,勢必會造成錯誤,因 ↑"丟給"EventListener的意思是? 是說傳給他的一個method嗎? : 書上說,用ABC的三個Listener去擴充一個EventListener? ↑ABC "的" Listener是? 我講我認為可能相關的東西吧 如果你的inheritance tree長這樣: class EventListener ├ class A extends EventListener implements IListenerA ├ class B extends EventListener implements IListenerB └ class C extends EventListener implements IListenerC 而且有個function或者method叫做 addListener(listener:EventListener); 那麼他的確是可以同時接收A, B, C的物件當作參數 只要符合 "IS-A" relationship 就ok了: A is an EventListener B is an EventListener C is an EventListener 如果你interface也有如下的inheritance tree: interface IEventListener ├ interface IListenerA extends IEventListener ├ interface IListenerB extends IEventListener └ interface IListenerC extends IEventListener 而你的function的參數若是interface variable而不是一般的variable 換言之,定義長得像這樣 → addListener(listener:IEventListener); 那麼只要有implement過IEventListener或者其subinterface的class物件 都是可以被該function給接收的 至於marker interface的用處 就只是讓許多class去implement這個"空白"的interface 純粹是拿來做 "標記" 罷了 像我可以寫個空白interface,叫做IMadeByCJ 然後讓我寫的class都去implement這個interface 那麼以後遇到一個物件的時候 就可以用這個"標記"去判斷 這個物件是不是直接或間接來自於我寫的class: //obj為不明物件 if (obj is IMadeByCJ) trace("made by CJ"); 不知道這樣有沒有解決你的問題 P.S. 一般命名interface的時候為了不跟class name搞混,通常會用大寫 I 開頭 P.S.2 認真唷~去年我們不是結束AS2研討會之後,AS3研討會也結束了? 結果你還在研究AS2呀? 快點來加入AS3的行列啦~XDDD 很好玩底~ =U=++ -- CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓 Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.82.232 ※ 編輯: cjcat2266 來自: 61.228.82.232 (03/11 14:42)

03/11 20:25, , 1F
QQ 可是很貴
03/11 20:25, 1F

03/11 22:02, , 2F
唉唷~我也想跳as3.0,可是我覺得我有些基本的東西不瞭解
03/11 22:02, 2F

03/11 22:03, , 3F
所以還在摸索,感謝幫我解答,晚一點我會再看(忙ing~)
03/11 22:03, 3F

03/11 23:48, , 4F
謝謝cj大,書上講的應該是第二段,原因我再寫篇文好嚕!
03/11 23:48, 4F

03/11 23:50, , 5F
^^"~因為手邊有東西要做,比較懂2.0,我到現在才知道,
03/11 23:50, 5F

03/11 23:51, , 6F
什麼是屬性,什麼是區域變數,介面,套件等等...之前查
03/11 23:51, 6F

03/11 23:51, , 7F
字典,發現翻出來的意思好像不太對,所以一直不是很瞭解
03/11 23:51, 7F

03/11 23:52, , 8F
後來我終於懂了一些基本的東西。那天看了EAS3.0,一下下
03/11 23:52, 8F

03/11 23:52, , 9F
終於曉得書裡面的[大標題]到底在講什麼意思。^^"~沒辦法
03/11 23:52, 9F

03/11 23:53, , 10F
我天生資質真的是比較笨,所以很多東西我都只能慢慢學!
03/11 23:53, 10F

03/11 23:54, , 11F
so,大概這次的東西做完以後,才會開始跳3.0(900頁~冏)
03/11 23:54, 11F

03/11 23:54, , 12F
^^"~到時要再麻煩各位前輩了!
03/11 23:54, 12F
文章代碼(AID): #17rYXcVy (Flash)
文章代碼(AID): #17rYXcVy (Flash)