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

090705-one31

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

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

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

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

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

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

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

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

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

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

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

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

IteruHandをVirtualIteruで読み込む

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

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

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

○サウンド関連のパッケージを使用する例
[as3]
package iteru{
//パッケージのインポート
import flash.media.Sound;

public class VirtualIteru{
public function VirtualIteru(){
new Sound();
}
}
}
[/as3]

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

アクセス制御指定子

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

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

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

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

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