Home About Rice Downloads Documents Others Cooker CookerGX
Documents  >  Refernce  >  accesscontrol
アクセス制御

アクセス修飾子

openとclosedキーワードはアクセス修飾子である。アクセス修飾子はメンバのアクセスレベルを決定する。

メンバ定義の先頭でopenキーワードを指定すれば、そのメンバはopenメンバである。openメンバは、プログラムの任意の場所で呼び出すことが出来る。

メンバ定義の先頭でclosedキーワードを指定すれば、そのメンバはclosedメンバである。closedは、そのメンバが定義されたクラス定義の中でしか呼び出すことはできない。

デフォルトのアクセスレベル

フィールドは常にclosedである。したがってアクセス修飾子は必要ない。

他のメンバーは、デフォルトのアクセスレベルを持たない。したがって、フィッタ、セッタ、ゲッタ、およびメソッド定義の最初にアクセス修飾子を指定する必要がある。

クラスはデフォルトでopenである。したがって定義にアクセス修飾子は必要ない。

クラスレベルのカプセル化

Riceのアクセス制御はクラスレベルで行われる。つまり、クラスAの定義は、全てのクラスAのインスタンスのclosedメンバにアクセス出来る。

例えば


class sample

int _fi;

...

open setter Fi(sample val)

_fi = new int(val._fi); //♦1

endsetter

...

endclass


♦1 : クラスsampleの定義は、sample型の引数valのclosedメンバにアクセスすることができる。

Copyright © Rice All rights reserved.