packageについてちょっと詳しく

イテル on 07 27, 2009

090705-one31

昨日の投稿でpackageについて触れたが、
実はあまり理解していなかったので再度お勉強することに。

イテルを構成するiteruクラス

package iteru{
	//クラスコードを記述
	//コンストラクタ
	public class VirtualIteru{
		//コンストラクタ
		public function VirtualIteru(){
			//プログラムを記述
		}
	}
}

上記のパッケージの書き方でiteruパッケージを作成することになる。

ファイル構造は次のような感じになる。

iteruパッケージ
 |-「src」=フォルダ
    |-「iteru」=フォルダ
       |-「VirtualIteru.as」=asファイル

これを呼び出すときは「iteru.VirtualIteru」となる。

iteruパッケージに、もう1つ、iteruを構成するクラスを作る場合は次のような感じ。

イテルの手をつかさどる「IteruHand」クラス

package iteru{
	public class IteruHand{
		//コンストラクタ
		public function IteruHand(){
			//IteruHand(手)に関するプログラムを記述
		}
	}
}

手のクラスを含んだファイル構造は次のような感じになる。

iteruパッケージ
 |-「src」=フォルダ
    |-「iteru」=フォルダ
       |-「VirtualIteru.as」=asファイル
       |-「IteruHand.as」=asファイル

IteruHandをVirtualIteruで読み込む

IteruHandを作ったのは良いが、どうやって使えばいいのかわからん。
ということで、IteruHandをVirtualIteruで読み込む方法は次の通り。

package iteru{
	//クラスコードを記述
	//コンストラクタ
	public class VirtualIteru{
		//コンストラクタ
		public function VirtualIteru(){
			//プログラムを記述
			new IteruHand();
		}
	}
}

IteruHandはパッケージ内にあるため、何もせずとも
読み込むことができる。
しかし、パッケージ外の誰かが作ったパッケージを使いたい場合や
flashに含まれている機能を使いたい場合はパッケージの
読み込みが必要となる。

○サウンド関連のパッケージを使用する例

package iteru{
	//パッケージのインポート
	import flash.media.Sound;

	public class VirtualIteru{
		public function VirtualIteru(){
			new Sound();
		}
	}
}

といった感じでインポートしてnewしなきゃならんらしい。

アクセス制御指定子

また、IteruHandクラスを宣言する際に「public」を用いたが、
このクラスはvirtualIteruからしか参照されないので、
「internal」というアクセス制御指定子にもできるようだ。

アクセス制御指定子というのは、どこからまで参照を許可するかという
制御が可能なアレだと思うw
パッケージクラスの場合は「public」「internal」の二種類があるっぽい。

publicはパッケージ外からのアクセスが可能。
internalは同一のパッケージからのみアクセスが可能。

・・・ここまではなんとか理解可能。

詳説 ActionScript 3.0
詳説 ActionScript 3.0
  • 発売元: オライリージャパン
  • 価格: ¥ 6,090
  • 発売日: 2008/11/22
  • 売上ランキング: 69005
  • おすすめ度 5.0

Leave a Reply