5

私は、ActionScriptではパッケージごとに1つのクラスしか持てないことを読みました。ヘルパークラスが必要な場合は、パッケージからこのクラスを作成します。例:

package {
  public class A {}
}


class B {}

ただし、AdobeのWebサイト( http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f9e.html)で次の例を見つけました。

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

次のWebページ(http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/packages.html)で、ファイルでパッケージのクラスを1つしか記述できないとのことです。

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

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

それから私の結論:ファイルごとにパッケージの複数のクラスを書くことはできませんよね?そして、この制限は、AS3のグッドプラクティスを促進するためだけのものですよね?

申し訳ありませんが、この質問が単純すぎる場合。

4

2 に答える 2

10

もちろん、同じパッケージに複数のクラスを含めることができます

ファイル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() {}
于 2013-03-13T15:06:45.717 に答える
0

http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/packages.htmlに役立つ情報があります。

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

于 2013-04-02T13:55:47.990 に答える