Essential ActionScript3.0 読書メモ 第36回 packageレベルの関数

package内のどこでも利用したり、プログラム全体で利用したりできる関数を作るには、packageの本文に直接関数定義を配置する。

その関数を含むpackage内でのみアクセス可能にしたい際はアクセスコントロール修飾子internalを使用する。
例:
package packaneName {
  internal function identifier() {
  }
}
プログラム全体からアクセス可能にするには、アクセスコントロール修飾子publicを用いる。
package packaneName {
  public function identifier() {
  }
}
アクセスコントロール修飾子が設定されていない場合は、ActionScriptは自動的にinternalを用いる。


AdobeコンパイラーはActionScriptのソースを記述したファイル(.asファイル)に2つの制限を設けている。これらはpackageレベルの関数に影響する。

(1) 全ての.asファイルは外部から見える定義を1つだけ持たなければならない。それは、internal又はpublicとして定義された、クラス・変数・関数・インターフェース・名前空間のいずれかである。

(2) .asファイルの名前は、外部から見える定義の名前と一致しなければならない。

理論上は、ActionScriptはpackageレベルの関数に何らの制限を設けていない。しかし、Adobeコンパイラーは、packageレベルのinternal/public関数が、関数名に対応した名前をもつ個別の.asファイルに定義されていることを要求している。


外部の.asファイルに定義された関数を別の.asファイルで用いるには、importを行う。
package utilities {
  import flash.system.*;
}

今日の進捗:197→199/1644