フィッタ定義
フィッタ定義
フィッタはインスタンスを初期化するためのサブルーチンである。new演算子とともに用いられ、プロトタイプのコピーを初期化して返す。
フィッタ定義は、以下の形式である。
アクセス制御 fitter フィッタ名(引数)
文
endfitter
endfitterの代わりに省略形のefを使用できる。
クラス定義の中で他のメンバ定義の外であれば、任意の場所で任意の数のフィッタ定義が可能である。
アクセス制御
アクセス制御はopenかclosedのどちらかのキーワードを指定して、フィッタのアクセスレベルを決定する。
openなら公開でありクラス定義の外部から呼び出せる。closedなら非公開でありクラス定義の中でしか使えない。
fitter
fitterはこの定義がフィッタであることを示すキーワードである。アクセス制御とフィッタ名の間に存在しなければならない。
フィッタ名
フィッタ名はそれが定義されるクラス名と同じでなければならない。
引数
引数は括弧で囲まれた任意数のクラス名と識別子の組である。クラス名と識別子の組を二個以上指定する場合はカンマで区切る。
open fitter sampleClass()
open fitter sampleClass(int index)
open fitter sampleClass(int index, string message)
引数が無いことを示す特別なキーワードは無い。引数が無い場合は括弧内に何も指定する必要はない。
文
文は任意である。つまり、文が無いフィッタが許される。その場合はプロトタイプのコピーがそのまま返される。
endfitter
endfitterはフィッタ定義の終了を示すキーワードである。endfitterの代わりに省略形のefを使用できる。
オーバーロード
フィッタ名はクラス名と同じでなければならないが、引数の型と数が異なれば任意の数のフィッタが定義可能である。
スコープ
フィッタはスコープを生成する。
復帰
return文により、どこからでも呼び出し元に復帰出来る。フィッタのreturn文はインスタンスを返してはいけない。return文に出会わずにendfitterまで到達した場合は、呼び出し元に復帰する。