COBOL クラス定義は、IDENTIFICATION DIVISION および ENVIRONMENT DIVISION、その後にオプションのファクトリー定義とオプションのオブジェクト定義、さらにその後に END CLASS マーカーが続く構成となっています。
| セクション | 目的 | 構文 |
|---|---|---|
| IDENTIFICATION DIVISION (必須) | クラスの名前。継承情報を提供する。 | クラス定義用の CLASS-ID 段落 (必須)
AUTHOR 段落 (オプション) |
| ENVIRONMENT DIVISION (必須) | コンピューター環境を記述する。クラス定義内で使用されるクラス名を、コンパイル単位の外側で判明している、対応する外部クラス名に関連付ける。 | CONFIGURATION SECTION (必須) クラス定義用の REPOSITORY 段落 (必須)SOURCE-COMPUTER 段落 (オプション) |
| ファクトリー定義 (オプション) | クラスのすべてのインスタンスが共有するデータと オブジェクト・インスタンスとは別々にサポートされるメソッドを定義する。 | IDENTIFICATION DIVISION. FACTORY. DATA DIVISION. WORKING-STORAGE SECTION. * (Factory data here) PROCEDURE DIVISION. * (Factory methods here) END FACTORY. |
| オブジェクト定義 (オプション) | インスタンス・データとインスタンス・メソッドを定義する。 | IDENTIFICATION DIVISION. OBJECT. DATA DIVISION. WORKING-STORAGE SECTION. * (Instance data here) PROCEDURE DIVISION. * (Instance methods here) END OBJECT. |
SOURCE-COMPUTER、OBJECT-COMPUTER、または SPECIAL-NAMES 段落をクラス CONFIGURATION SECTION に指定すると、それらの段落は、そのクラスが導入するすべてのメソッドを含む、クラス定義全体に適用されます。
クラス CONFIGURATION SECTION は、プログラム CONFIGURATION SECTION と同じ記入項目で構成されています。ただし、クラス CONFIGURATION SECTION には INPUT-OUTPUT SECTION を含めることはできません。INPUT-OUTPUT SECTION の定義は、クラス・レベルでその定義を行うのではなく、それを必要とする個々のメソッドにおいてのみ行います。
上記で説明したように、インスタンス・データと メソッドの定義は、そのクラス定義の OBJECT 段落内で、それぞれ、DATA DIVISION および PROCEDURE DIVISION において、行います。個別のオブジェクト・インスタンスにではなく、クラス自体に関連付けるデータとメソッドを必要とするクラスに、クラス定義の FACTORY 段落内で、別々の DATA DIVISION および PROCEDURE DIVISION を定義します。
各 COBOL クラス定義は、別々のソース・ファイルになければなりません。
関連タスク
クラス・インスタンス・データ定義用の WORKING-STORAGE SECTION
クラス・インスタンス・メソッドの定義
サブクラスの定義
ファクトリー・セクションの定義
コンピューター環境の記述
オブジェクト指向アプリケーションのコンパイル、 リンク、および実行
関連参照
COBOL クラス定義構成 (Enterprise COBOL 言語解説書)