2013-05-16 75 views
0

在AS3/Flex中,我可能有一個接口擴展了另一個接口嗎?AS3/Flex:接口擴展接口

我創建界面A.現在我想創建它擴展接口A.

我google了很多,但無法找到任何令人信服的答案另一個界面B。請幫忙。

+1

接口不擴展;它們得到實施。所以一個接口可以像一個類一樣「實現」另一個接口。 – JeffryHouser

+0

正確。我只是經歷了一些我在博客上讀到的理論問題。我想讓我問你們是否有人知道它在AS3中是否可以實現。感謝您的快速回復。 – TrexTroy

+0

什麼博客?我們正在爲你做作業嗎? – JeffryHouser

回答

2

當然,你可以擴展interface

多個接口可通過經 另一接口被繼承延伸穿過implements子句子句或通過一個類。實現接口的類的實例 與由接口表示的類型 相比較長。接口定義只能包含 函數定義,其中可能包括get和set方法。

請記住:有時試試或者只是查看Flex SDK源代碼會更快。 ;-)

${FLEX_HOME}\frameworks\projects\framework\src\mx\core\IUIComponent.as

package mx.core 
{ 
... 
public interface IUIComponent extends IFlexDisplayObject 
{ 
... 
+0

這是正確的。只有在不同接口中設置了一個成員的get-er和set-er時,纔可以擴展接口。 –

0

在我的評論我說,接口不延長;它們得到實施。那應該是接口是由使用實現關鍵字的類實現的。當你想讓單個接口「擴展」多個接口時,只需使用extends關鍵字並用逗號分隔即可。

拿這個接口,IMyFirstInterface:

public interface IMyFirstInterface { 
// method definitions here 
} 

再取,這樣其他接口,IMySecondInterface:

public interface IMySecondInterface { 
// method definitions here 
} 

均爲 「獨立」 的意思是,他們沒有任何關係到另一個接口。但是,第三接口可以擴展他們兩個,像這樣:

public interface IMyThirdInterface extends IMyFirstInterface, IMySecondInterface{ 
// method definitions here 
} 

你的類將實現接口,像這樣:

public class myClass implements IMyThirdInterface{ 
// other class stuff 
} 

MyClass的需要包括在iMyThirdInterface,IMyFirstInterface定義的所有方法和iMySecondInterface,因爲它實現了擴展IMyFirstInterface和IMySecondInterface的IMyThirdInterface。

關閉我的頭頂;我不知道如何處理「碰撞」。如果IMyFirstInterface和IMySecondInterface實現具有不同簽名的相同方法,則會發生編譯器錯誤。

0

接口可以擴展其他接口。 類可以擴展類。 看到這裏的相關性? 它就像樂高。

接口實現類。 類實現接口。 現在應該是有道理的。