解析Flex命名空間的工作方式
本文和大家重點討論一下Flex命名空間的工作方式,要了解Flex命名空間的工作方式,有必要先了解屬性或方法的名稱總是包含兩部分:標識符和命名空間。
Flex命名空間詳解
通過命名空間可以控制所創建的屬性和方法的可見性。請將public、private、protected和internal訪問控制說明符視為內置的Flex命名空間。如果這些預定義的訪問控制說明符無法滿足您的要求,您可以創建自己的命名空間。
如果您熟悉XML命名空間,那么,您對這里討論的大部分內容不會感到陌生,但是ActionScript實現的語法和細節與XML的稍有不同。即使您以前從未使用過命名空間,也沒有關系,因為命名空間概念本身很簡單,但是其實現涉及一些您需要了解的特定術語。要了解Flex命名空間的工作方式,有必要先了解屬性或方法的名稱總是包含兩部分:標識符和命名空間。標識符通常被視為名稱。例如,以下類定義中的標識符是sampleGreeting和sampleFunction():
- classSampleCode
- {
- varsampleGreeting:String;
- functionsampleFunction(){
- trace(sampleGreeting+"fromsampleFunction()");
- }
- }
只要定義不以命名空間屬性開頭,就會用默認internal命名空間限定其名稱,這意味著,它們僅對同一個包中的調用方可見。如果編譯器設置為嚴格模式,則編譯器會發出一個警告,指明internal命名空間將應用于沒有命名空間屬性的任何標識符。為了確保標識符可在任何位置使用,您必須在標識符名稱的前面明確加上public屬性。在上面的示例代碼中,sampleGreeting和sampleFunction()都有一個命名空間值internal。使用命名空間時,應遵循以下三個基本步驟。
***,必須使用namespace關鍵字來定義Flex命名空間。例如,下面的代碼定義version1命名空間:
- namespaceversion1;
第二,在屬性或方法聲明中,使用命名空間(而非訪問控制說明符)來應用命名空間。下面的示例將一個名為myFunction()的函數放在version1命名空間中:
- version1functionmyFunction(){}
第三,在應用了該命名空間后,可以使用use指令引用它,也可以使用該命名空間來限定標識符的名稱。下面的示例通過use指令來引用myFunction()函數:
- usenamespaceversion1;
- myFunction();
您還可以使用限定名稱來引用myFunction()函數,如下面的示例所示:
- version1::myFunction();
【編輯推薦】
- Flex頁面跳轉實現的幾種方式
- FlexBuilder4十大新特性閃亮登場
- Flex框架中Cairngorm和Mate的優點大比拼
- FlexBuilder3.0與Eclipse3.4的***結合
- 解析Flex應用開發步驟 新特性和技術框架