作者icedesign (不可或缺的咖啡因)
看板Flash
标题[问题] Marker Interface__AS2.0
时间Tue Mar 11 12:29:44 2008
事情是酱子滴,麻烦各位前辈帮我解决疑惑。
在某本书上,看到了关於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