2013-03-13 16 views
5

我讀過,你只能在ActionScript中通過包裝獲得一個類。如果你需要幫助類,你可以從包中寫出這些類。例如:ActionScript包中的多個類?

package { 
    public class A {} 
} 


class B {} 

然而,我發現,在Adobe網站下面的例子(: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f9e.html):

package flash.xml 
{ 
    class XMLDocument {} 
    class XMLNode {} 
    class XMLSocket {} 
} 

在以下網頁(http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/packages.html),他們說,你只能寫一個文件包的一個類:

// SampleCode.as file 
package samples{ 
    public class SampleCode {} 
} 

// CodeFormatter.as file 
package samples { 
    class CodeFormatter {} 
} 

然後我的結論是:你不能通過文件寫多個類的包,對嗎?而這個限制只是爲了推廣AS3的良好實踐,對嗎?

對不起,如果這個問題太簡單了。

回答

9

當然,你可以有多個類在同一個包

文件mypackage中/ MyClass1.as:

package mypackage { 
    public class MyClass1{ 

    } 
} 

文件mypackage中/ MyClass2.as:

package mypackage { 
    public class MyClass2{ 

    } 
} 

,但你可以每個文件不得有多個公共類(應與該類具有相同的名稱)。

你可以有包塊外的輔助類(在同一個文件),它們只能由該文件中的其它類:

文件mypackage中/ MyClass3.as:

package mypackage { 
    public class MyClass3{ 

    } 
} 

class HelperForClass3Only() {} 
0

這裏可能在http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/packages.html是一些有用的信息:

大多數軟件項目包含很多類。有時候一個項目包含數百個,甚至數千個類。將這些課程組織到相關組中是標準練習並且很有幫助。您可以使用軟件包將您的課程組織到相關組中。編譯器還使用包來定義它們包含的類的全名,並添加一個訪問控制級別。