Essential ActionScript 3.0 読書メモ 第2回 アクセスコントロール修飾子

クラス定義の際に使うModifier(修飾子)について。

クラスはデフォルトでは、同じpackageのコードからしか利用できない。外部のpackageからアクセスできるようにするためには、public属性をクラスに付けてクラス定義を行う必要がある。

例えば、

package jp.livedoor {
  public class Blog {
  }
}

といった感じ。

(なお、第1回の記事でクラス宣言の際にはpackage名から書く(例:jp.livedoor.Blog)のが正式だと書いたが、今後は簡単のため、クラス名からpackage名は省く。『Essential ActionScript 3.0』でも、省略している)。

外部packageからアクセス出来ないクラスを定義したことを明示したい場合は、internal属性をつける。

package jp.livedoor {
  internal class Blog {
  }
}

internal属性を付けたclass定義は、プログラム上の意味は、修飾子を何も付けない場合と変わらない。internal属性の役割は、コードを読む人に、このクラスは内部でしか利用できないと知らせること。

なお、AdobeのActionScriptコンパイラーは、アプリケーションのmainクラスがpublic属性であることを要求する。

今日の進捗:158→168/4343

コメントを残す