メソッド定義
メソッド定義
メソッドは、サブルーチンである。
メソッド定義は、以下の形式である。
アクセス制御 method 返り値型 メソッド名(引数)
文
endmethod
endmethodの代わりに省略形のemを使用できる。
クラス定義の中で他のメンバ定義の外であれば、任意の場所でメソッドの定義が可能である。
アクセス制御
アクセス制御はopenかclosedのどちらかのキーワードを指定して、アクセスレベルを決定する。
openなら公開であり、クラス定義の外部から呼び出せる。closedなら非公開であり、クラス定義の中でしか使えない。
methodキーワード
methodはこの定義がメソッドであることを示キーワードである。アクセス制御と返り値型の間に存在しなければならない。
返り値型
返り値型は返されるクラスの指定である。
メソッドが値を返さない場合はvoidを指定すること。
メソッド名
メソッド名には識別子と組み込みクラスの名前を使うことが出来る。
引数
引数は括弧で囲まれた任意数のクラス名と識別子の組である。クラス名と識別子の組を二個以上指定する場合はカンマで区切る。
open method void sampleMethod()
open method void sampleMethod(int index)
open method void sampleMethod(int index, string message)
引数が無いことを示す特別なキーワードは無い。引数が無い場合は、括弧内に何も指定する必要はない。
文
返り値型がvoidの場合は、文は任意である。
返り値型がvoidでない場合は、最低でもreturn文が必要である。
endmethodキーワード
endmethodはメソッド定義の終了を示すキーワードである。定義の最後に存在しなければならない。
endmethodの代わりに省略形のemを使用できる。
オーバーロード
引数の型と数が異なれば同じ名前のメソッドが定義可能である。
スコープ
メソッドはスコープを生成する。
復帰
return文により、どこからでも呼び出し元に復帰出来る。メソッドのreturn文は指定されたクラスのインスタンスを返さなければならない。