Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


COBOL クラスのインスタンス化

COBOL クラスをインスタンス化するには、型式化オブジェクト参照または汎用オブジェクト参照を、 INVOKE . . . NEW ステートメントの RETURNING 句に指定できます。ただし、USING 句を コーディングすることはできません。インスタンス・データは、クラス定義の VALUE 文節に指定されたとおりに初期化されます。

したがって、INVOKE . . . NEW ステートメントは、単一のインスタンス・データのみを有する COBOL クラスのインスタンスを生成するときに役立ちます。例えば、次のステートメントは、Account クラスのインスタンスを作成し、Account クラス定義の OBJECT 段落の WORKING-STORAGE SECTIONVALUE 文節に指定されたとおりに、インスタンス・データを初期化し、新しいインスタンスへの 参照 outAccount を提供します。

Invoke Account New returning outAccount

VALUE 文節だけを使用して初期化することができない COBOL クラス・データの 初期化を可能にするには、COBOL クラスを設計する際に、FACTORY 段落にパラメーター化生成メソッドを 定義し、OBJECT 段落にパラメーター化初期化メソッドを定義する必要があります。

  1. パラメーター化ファクトリー生成メソッドで、以下の手順を実行します。
    1. INVOKE class-name NEW RETURNING objectRef をコーディングして、class-name のインスタンスを作成し、VALUE 文節を有するインスタンス・データ項目に初期値を与えます。
    2. パラメーター化した初期化メソッドをインスタンス (objectRef) 上で呼び出し、指定された引数 BY VALUE をファクトリー・メソッドに渡します。
  2. 初期化メソッドで、ロジックをコーディングし、仮パラメーターを介して指定された値を使用して、インスタンス・データ初期化を完了します。

COBOL クラスのインスタンスを作成して適切に初期化するために、クライアントはパラメーター化ファクトリー・メソッドを呼び出し、BY VALUE で目的の引数を渡します。クライアントに戻されるオブジェクト参照は、ローカル参照です。メソッド内にクライアント・コードがあり、戻されるオブジェクト参照を使用するのがそのメソッドの存続期間に限定されない場合、クライアント・コードは、JNI サービス NewGlobalRef を呼び出すことによって、戻されるオブジェクト参照をグローバル参照に変換しなければなりません。

例: ファクトリーの定義 (メソッドに関して)

関連タスク
JNI サービスへのアクセス
ローカル参照とグローバル参照の管理
メソッドの呼び出し (INVOKE)
ファクトリー・セクションの定義

関連参照
VALUE 文節 (「COBOL for Windows 言語解説書」)
INVOKE ステートメント (「COBOL for Windows 言語解説書」)


ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)