個々のオブジェクト・インスタンスではなく、クラス自体と関連付けられるデータおよびメソッドを定義するには、クラス定義で FACTORY 段落を使用してください。
COBOL ファクトリー・データ は、Java private 静的データと同じです。データの単一コピーは、そのクラス用にインスタンス生成され、クラスのすべてのオブジェクト・インスタンスに共用されます。クラスのすべてのインスタンスからデータを収集するときは、ごく一般的にファクトリー・データを使用します。例えば、ファクトリー・データ項目を定義して、作成するクラスのインスタンス数の現在高を集計できます。
COBOL ファクトリー・メソッド は Java public 静的メソッドと 同じです。これらのメソッドは、どのオブジェクト・インスタンスとも無関係に、クラスによってサポートされます。 VALUE 文節を使用しただけではインスタンス・データを 初期化できないときは、ごく一般的に、ファクトリー・メソッドを使用して、オブジェクトの生成をカスタマイズします。
対照的に、クラスのそれぞれのオブジェクト・インスタンスごとに作成される データを定義したり、クラスのそれぞれのオブジェクト・インスタンスごとにサポートされるメソッドを 定義したりする場合には、クラス定義の OBJECT 段落を使用します。
ファクトリー定義は、以下の 3 つの部から構成され、その後に END FACTORY ステートメントが続きます。
| 除算 | 目的 | 構文 |
|---|---|---|
| IDENTIFICATION (必須) | ファクトリー定義の開始を示す。 |
IDENTIFICATION DIVISION. FACTORY. |
| DATA (オプション) | このクラス用に一度割り振られたデータを記述する (クラスのそれぞれのインスタンスごとに割り振られたデータとは正反対)。 | ファクトリー・データ定義用の WORKING-STORAGE SECTION (オプション) |
| PROCEDURE (オプション) | ファクトリー・メソッドを定義する。 | ファクトリー・メソッドの定義:ファクトリー・メソッドの定義 |
関連タスク
クラスの定義
COBOL クラスのインスタンス化
プロシージャー指向 COBOL プログラムのラッピング
オブジェクト指向アプリケーションの構造化