速習Webデザイン ActionScript3.0を読む その11

速習Webデザイン ActionScript 3.0

速習Webデザイン ActionScript 3.0

part9 カスタムクラスの定義

    • 一週間あいだ空いての再開。
    • 一番気になってたところかも。

カスタムクラス定義の基本はプロパティ(クラス用の変数)とメソッド(クラス用の関数)の定義です。

p220 Lesson-1 キャプション

  • 01-01
    • カスタムクラス定義の内容
    1. プロパティ定義
    2. コンストラクタ定義
    3. メソッド定義
    • コンストラクタはクラスのオブジェクトを生成しオブジェクトの初期化処理を行う。

package{
  public class クラス名{
    var プロパティ名 : データ型 ; //プロパティ定義
    function クラス名(){ //コンストラクタ定義

    }

    function メソッド名 : { //メソッド定義

    }
}
}

    • パッケージはクラスを分類するためのフォルダにあたる。
    • クラス定義ファイルではトップレベルのクラス*1以外を指定する場合、あらかじめインポートしておく必要がある。

import flash.display.MoviClip; ←クラス名は完全修飾名で記述。


import flash.display.*; ←flash.displayパッケージ内のクラス全てをインポートできる。

  • 02-01 クラスの継承
    • 既存のクラスを拡張してクラス定義する手法。
    • もとになるクラスを「スーパークラス(親クラス、基本クラス)」、継承した新しいクラスを「サブクラス(子クラス、派生クラス)」と呼ぶ。
    • 既存の組み込みクラスも、自作のカスタムクラスもスーパークラスとできる。
  • 02-02 クラス継承の書式

package{
  public class サブクラス名 extends スーパークラス名{
    
    }
}

    • なかなか面倒というか分かりにくい、覚えないといけないこと多そう。
コンストラクタに関して
スーパークラスのコンストラクタが引数を必要とする場合、サブクラスのコンストラクタから明示的に実行する必要あり。サブクラスからスーパークラスのコンストラクタを呼びだすのには「super()」を使う。
埋め込みアセットクラスとクラス定義ファイルの関連づけ
埋め込みアセットクラスは「リンケージプロパティ」ダイアログの「基本クラス」のサブクラスとなる。埋め込みアセットクラスはその拡張機能をクラス定義ファイルに定義し両者を関連づけることで、定義されたプロパティやメソッドを持つデータとなる。
ドキュメントクラス
SWFファイルもMovieClipクラスのサブクラスとしてクラス定義ファイルに関連づけできる。

*1:トップレベルのクラス(コアクラス)はArray、Boolean、int、Math、Number、Object、String、unit、XML、XMLList。他の言語でも使われるような汎用性が高いクラス)。