Home About Rice Downloads Documents Others Cooker CookerGX
Documents  >  Tutorial  >  getters
ゲッタ

この章の目的。

クラス定義を構成する基本要素である、ゲッタについて学びます。

ゲッタ

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

まず、Circle.88のゲッタ定義部分を以下に示します。

1:

// -----------------------------------------------Getters and setters.

2:

open getter bool Fitted

3:

return _fitted.Clone(); // Encapsulation.

4:

endgetter

5:

open getter bool Moving

6:

if(_tt.Fitted)

7:

return _tt.IsEnabled;

8:

else

9:

return false;

10:

endif

11:

endgetter

12:
13:

// x-coordinate of the center.

14:

open getter int X

15:

return _x.Clone(); // Encapsulation.

16:

endgetter

17:

open setter X(int value)

18:

_x.Value = value; // Encapsulation.

19:

endsetter

20:

// y-coordinate of the center.

21:

open getter int Y

22:

return _y.Clone(); // Encapsulation.

23:

endgetter

24:

open setter Y(int value)

25:

_y.Value = value; // Encapsulation.

26:

endsetter

if(_currentCircle.Moving) // Sample.cookの102行目

ゲッタ名'Moving'への参照は、'open getter bool Moving' の呼び出しに変換されます。


ゲッタ定義は、以下の形式をしています。


アクセス制御(open か closed) getter 返り値型 ゲッタ名

ゲッタ定義の文...

endgetter


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

アクセス制御

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

openを指定すると、そのゲッタは、プログラムのどこでも使えます。

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

クラス定義の内部では、そのクラスの全てのインスタンスのclosedメンバにアクセス出来ます。

キーワード getter

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

返り値型

キーワードgetterの次に返り値型を指定します。これは、ゲッタが返すインスタンスのクラス名を示しています。

ゲッタ名

返り値型の次にゲッタ名を指定します。ゲッタ名の命名規則は、識別子と同じです。

キーワード endgetter

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

Copyright © Rice All rights reserved.