参照

識別子によるインスタンスへのアクセスである参照について説明します。


目次:


識別子

優先順位

隠蔽

アドレス

予約変数

定数

識別子

識別子とはプログラムに導入された名前です。宣言でプログラムに導入され、定義されることでインスタンスと対応します。


int i = 5;

int j = 5;

int k = i + j + 10;


上記の i、j、k が識別子です。定義文で値との対応が決定されています。

セッタゲッタ定数も参照と同じ記法で利用できます。これらは単純な識別子による参照とは異なりますが、ここでは便宜上同一のものとして扱います。


以上より、識別子でアクセスできるのは以下の五つとなります。


変数

フィールド

セッタ

ゲッタ

定数

優先順位

識別子によるインスタンスの探索は次の順序で行われます。これが、参照の優先順位となります。


変数

フィールド

セッタとゲッタ

定数


更に、変数は内部のスコープから外側のスコープの順序で探索されます。

隠蔽

同じ識別子に対応付けされたインスタンスが存在する場合、一番高い優先順位を持つインスタンスが返されます。


識別子の衝突は優先度の低いインスタンスを隠蔽します。優先順位を変更するための特別な記法は存在しないので、そのようなインスタンスにアクセスすることはできません。

アドレス

参照がインスタンスを返す場合、インスタンスそのものは返りません。インスタンスが確保されたメモリのアドレスが返されます。

予約変数

Riceにはシステムによって自動的に定義される変数が存在します。これを予約変数と呼びます。

以下に予約変数の一覧を示します。


__count

__index

__key

__value

__error


詳細については、リファレンスを、個々の予約変数については上記のリンクを参照してください。

定数

定数はシステムによって自動的に定義される識別子です。変数のようにユーザが定義することはできません。定数ですので参照のたびに同じ値を返し、値を代入することはできません。

以下にプリセットされている定数の一覧を示します。


MAIN

DQ

NL

TAB

CR

LF

IMAX

IMIN

LMAX

LMIN

RMAX

RMIN

EPSILON

NAN

NINF

PINF


詳細については、リファレンスを、個々の定数については上記のリンクを参照してください。

Copyright © Rice All rights reserved.