property 識別子
{
setter(引数)
{
// ここにセッターの内容
}
getter()
{
// ここにゲッターの内容
return 式; // ゲッターとして返す値
}
}
例:
var value;
property property1 // プロパティ 'property1' を宣言
{
setter(v)
{
// セッターはただ一つだけの引数をとる
value=v; // 引数 v を処理する
inform("value set.");
}
getter
{
// propset と同じ識別子 'property1' のゲッターを宣言
// ゲッターに引数はない
inform("value get.");
return value; // 戻り値として返す
}
}
property1=5; // property1 への代入は、セッターが呼ばれる
property1++; // このような式では、ゲッターが呼ばれ、
// 次にセッターが呼ばれて値が設定される
}
&
演算子を使います。また、&
演算子を使ってプロパティオブジェクトを登録することもできます。例:
property prop // プロパティ prop を宣言
{
(略)
}
var p = ∝ // プロパティオブジェクトを得る
&object.property1 = p; // p を object の property1 として登録する
&
演算子を使うと、ゲッターやセッターは呼ばれずにプロパティオブジェクトそのものにアクセスする事ができます。&
演算子を使わなければ通常のプロパティへのアクセスとなります。*
演算子を用いてプロパティハンドラを呼び出すことができます。例:
property prop // プロパティ prop を宣言
{
(略)
}
var p = ∝ // プロパティオブジェクトを得る
*p = 30; // setter を呼び出し 30 を設定する
func(*p); // getter を呼び出し値を取得し、func に渡す