2013-03-13 8 views
5

私は、あなたはActionScriptで1つのクラスごとにしかクラスを持つことができないと読んでいます。ヘルパークラスが必要な場合は、このクラスをパッケージから書き出します。例:(: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f9e.html):ActionScriptパッケージの複数のクラス?

package { 
    public class A {} 
} 


class B {} 

は、しかし、私は、AdobeのWebサイトで、次の例を見つけ、次のWebページ(http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/packages.html)で

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

、彼らはあなただけ書くことができると言いましたファイルのパッケージの1つのクラス:

私の結論:ファイルごとに複数のクラスのクラスを書くことはできません。この制限は、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に役立つ情報があります:

ほとんどのソフトウェアプロジェクトには多くのクラスが含まれています。プロジェクトには、数千ではなく数百のクラスが含まれていることがあります。これらのクラスを関連グループに編成することは、標準的なプラクティスであり、役立ちます。パッケージを使用して、クラスを関連グループに編成します。また、コンパイラはパッケージを使用して、クラスに含まれるクラスのフルネームを定義し、アクセス制御のレベルを追加します。