2012-01-13 48 views
0

的我有一類如下:如何創建特定類型的陣列

class com.flightstatus.SpecificationFlight 
{ 
    public var Airline:Airline; 

    public var FlightNumber:String; 

    public var SearchCodeshares:Boolean; 

    public var SearchCodesharesSpecified:Boolean; 

    public var TailNumber:String; 
} 

現在我想創建上述類型的像下方的陣列: VAR myArr,該:SpecificationFlight =新的Array();

這種類型非常重要,因爲它會通過web服務發送。

這是AS3中可能的嗎?如果是這樣,我可以只將這個特性導入AS2並使用它。

回答

0

您的代碼是AS2,而不是AS3,您不能在名稱中使用句點聲明類,而是使用包。 (從技術上講,這並不準確,如果在編譯後修改了字節碼,那麼在名稱中可能會出現句點,但我懷疑你的意思)。

AS2沒有類型數組,即它只有一個數組類,它可以包含任何類型的對象。但是,您可以爲自定義類定義__resolve(x)方法,並只允許從yourClassInstance[x]代碼返回某種類型的對象。不幸的是,您無法控制分配給yourClassInstance[x]的對象的類型。

在AS3中有一個Vector。 <T> Flash Player 10以來的類。該類用於創建某種類型的向量,顯然。

在HaXe語言中,可以編譯爲AS2和AS3的是類型化數組,但是它們是在語言(編譯器)級別上強制執行的,如果您通過反射或其他未使用HaXe編譯的代碼訪問編譯後的代碼,那麼數組仍然是無類型的(非常類似Java中的泛型)。

PS。在AS的變體中使用變量名稱的Pascal情況是非常不直觀的,類字段通常是駝峯式的(即使代碼高亮度假設它們是類名稱,而不是變量名稱)。使用公共變量我們通常也是一個壞主意,但它不一定是壞的,取決於上下文,但我一定會感到震驚。