Home News DOC Class DL Others Cooker
Documents  >  Tutorial  >  セッタ定義
セッタ定義

セッタは代入の形式を用いたインターフェースです。主な目的はフィールドへのアクセス機能を提供ことです。


目次:


書式

アクセス制御

setter

セッタ名

引数

endsetter

定義例

書式

セッタ定義は以下の形式です。


アクセス制御 setter セッタ名(引数)

...

endsetter


アクセス制御から始まりキーワード setter が続きキーワード endsetter で終わる定義です。

セッタ名が異なる、またはセッタ名が同じでも引数のクラスが異なるセッタをクラス定義内の任意の場所で任意の数だけ定義することが出来ます。

セッタへの代入がセッタ呼び出しに自動的に変換されます。

セッタ定義はスコープを生成します。

アクセス制御

セッタのアクセスレベルを、キーワード open か closed を用いて指定します。

open を指定すると、そのセッタはクラス定義の外部から呼び出すことができます。

closed を指定すると、そのセッタはクラス定義の内部でのみ使えます。

setter

セッタ定義である事を示すキーワードです。アクセス制御の次に指定する必要があります。

セッタ名

キーワード setter の次にセッタ名を指定します。セッタ名の命名規則は識別子と同じです。

例外的にセッタ名として組み込みクラスの名前を使うことが出来ます。

引数

引数をセッタ名の次に括弧で囲んで指定します。

引数はクラス名と引数名の組です。セッタには一組の引数が必須です。引数の型がセッタに代入できる値の型になります。

引数のクラスでもセッタを区別しているので同名で引数のクラスが異なるセッタを定義できます。

endsetter

セッタ定義の終了を示すキーワードです。

endsetter の代わりに省略形の es を使用できます。es もキーワードであることに注意してください。

定義例

例として example クラスにセッタを定義します。

1:

class example

2:

int x;

3:

int y;

4:

open fitter example() // デフォルトフィッタ。

5:

x = 0;

6:

y = 0;

7:

endfitter

8:

open fitter example(int xx, int yy) // 引数二つのフィッタ。

9:

x = xx;

10:

y = yy;

11:

ef // 省略形

12:

open setter X(int val)

13:

x = val;

14:

endsetter

15:

open setter Y(int val)

16:

y = val;

17:

es // 省略形

18:

endclass

セッタは代入式で呼び出します。

1:

example ex = new example();

2:

ex.X = 10; // open setter X(int val)

3:

ex.Y = 10; // open setter Y(int val)

Copyright © Rice All rights reserved.