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