クラスの設計を決定した後、または少なくとも、格納する情報の種類と実行するアクションの種類を決定した後は、実際のクラス作成のシンタックスはまったく簡単なものになります。
-
ActionScript テキストエディタープログラムで、新しいテキストドキュメントを開きます。
-
クラスの名前を定義する
class
ステートメントを入力します。
class
ステートメントを追加するには、
public class
、クラス名の順に入力します。次に、クラスのコンテンツ(メソッドとプロパティの定義)を左中括弧と右中括弧の間に入力します。次に例を示します。
public class MyClass
{
}
単語
public
は、そのクラスが他のコードからアクセスできることを示します。他の例については、アクセス制御名前空間の属性を参照してください。
-
クラスが含まれているパッケージの名前を指定する、
package
ステートメントを入力します。シンタックスは、
package
、完全なパッケージ名、左中括弧、右中括弧の順です。この中括弧は
class
ステートメントブロックを囲んでいます。例えば、前の手順のコードは次のように変更されます。
package mypackage
{
public class MyClass
{
}
}
-
クラス本文内で
var
ステートメントを使用して、クラスの各プロパティを定義します。シンタックスは変数の宣言に使用するシンタックスと同じです(
public
モディファイアが追加されます)。例えば、クラス定義の左中括弧と右中括弧の間に次の行を追加すると、
textProperty
、
numericProperty
および
dateProperty
という名前のプロパティが生成されます。
public var textProperty:String = "some default value";
public var numericProperty:Number = 17;
public var dateProperty:Date;
-
関数の定義に使用されるのと同じシンタックスを使用して、クラスに各メソッドを定義します。次に例を示します。
-
myMethod()
メソッドを作成するには、次のように入力します。
public function myMethod(param1:String, param2:Number):void
{
// do something with parameters
}
-
コンストラクター(クラスのインスタンスの作成プロセスの一環として呼び出される特別なメソッド)を作成する場合、そのクラス名と名前が正確に一致するメソッドを作成します。
public function MyClass()
{
// do stuff to set initial values for properties
// and otherwise set up the object
textVariable = "Hello there!";
dateVariable = new Date(2001, 5, 11);
}
クラスにコンストラクターメソッドを含めなかった場合、コンパイラーが自動的に空のコンストラクターを作成します(つまり、パラメーターもステートメントも指定されていないコンストラクターが作成されます)。
さらにいくつかのクラスエレメントを定義できます。これらのエレメントは、より複雑な構造を持ちます。
-
アクセッサーは、メソッドとプロパティを特別に組み合わせたものです。クラスを定義するコードを作成するときは、メソッドを記述するのと同じようにアクセッサーを記述します。プロパティとして定義すると単なる値の読み取りや代入の操作しかできませんが、アクセッサーでは複数のアクションを実行できます。ところが、クラスのインスタンスを作成するときは、アクセッサーをプロパティと同様に扱い、アクセッサー名を使用して値の読み取りや代入を行うことができます。
-
ActionScript のイベントは、特定のシンタックスを使用して定義されません。EventDispatcher クラスの機能を使用して、クラス内に定義します。