プロパティとは、変数と同じように扱うことができるが、実際はメソッド呼び出しと同様に、
セッター (
setter ) と
ゲッター (
getter ) の呼び出しを伴うものです。
構文は以下の通りです。
property 識別子
{
setter(引数)
{
}
getter()
{
return 式;
}
}
setter と getter は、逆の順番で書かれていてもかまいません。
この property を記述したクラスや、グローバルのメンバとしてこのプロパティは登録されますが、この識別子からの値の取得はゲッター、値の設定はセッターを通して行われます。これらのセッターとゲッターは、メソッド同様に様々な内容を書くことができます。セッターは setter に続く ( ) 内に、値を受け取る変数を引数として書きます。ゲッターは
return ステートメントにて値を返します。
getterのあとの () は省略できます。
一つの識別子に対し、セッターとゲッターの両方を書けば、読み書きの両方が可能なプロパティになります。一方しか書かない場合、たとえばゲッターしか書かない場合は、読み出し専用のプロパティとなり、書き込みはエラーになります。
例:
var value;
property property1
{
setter(v)
{
value=v;
inform("value set.");
}
getter
{
inform("value get.");
return value;
}
}
property1=5;
property1++;
}
プロパティも変数や関数やクラス同様、
オーバーライドできます。