packageの中にはクラス、変数、関数など何でも入る
そう、なんでも入るみたいです。逆にJavaのようにクラスのネストなんかはできません。
ただし、ファイル名と名前は一致している必要があります。
上のソース
Study04Namespace.mxml
<?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ import mx.controls.Alert; import sample.Study04NamespaceClass; import sample.Study04NamespaceFunc; import sample.Study04NamespaceVar; ]]> </mx:Script> <mx:Label id="sampleLabel" text="initialized"/> <mx:Button label="class" click="sampleLabel.text = Study04NamespaceClass.showClass();"/> <mx:Button label="func" click="sampleLabel.text = Study04NamespaceFunc();"/> <mx:Button label="variable" click="sampleLabel.text = Study04NamespaceVar;"/> </mx:Application>
パッケージにクラスを入れた例
sample/Study04NamespaceClass.as
package sample { public class Study04NamespaceClass { public static function showClass():String { return "クラス"; } } }
パッケージに関数を入れた例
sample/Study04NamespaceFunc.as
package sample { public function Study04NamespaceFunc():String { return "関数"; } }
パッケージに変数を入れた例
sample/Study04NamespaceVar.as
package sample { public var Study04NamespaceVar:String = '変数'; }
これらをコンパイルするときには下のコマンドで行います
mxmlc Study04Namespace.mxml
ただし、sampleパッケージのファイルはsampleディレクトリに入っている必要があります。