20.2.1 オブジェクト指向機能による定義
- 〈この項の構成〉
(1) クラスの定義
オブジェクト指向を取り入れたプログラム開発を,COBOL2002で実現するためには,プログラム定義とクラス定義が必要です。
(a) プログラム定義
プログラム定義では,リポジトリ段落に使用するクラス名を指定します。また,インスタンスオブジェクトを生成する場合,オブジェクトを識別するためのオブジェクト参照を定義します。手続き部では,メソッドを呼び起こすための手続き文であるINVOKE文を記述します。
リポジトリ段落の言語仕様については,マニュアル「COBOL2002 言語 標準仕様編」 「8.2.7 リポジトリ段落(REPOSITORY)」を参照してください。
(b) クラス定義
クラス定義は,インスタンス定義とファクトリ定義という二つの定義部分で構成されます。また,インスタンス定義,ファクトリ定義にはそれぞれメソッド定義を定義できます。ファクトリ定義から生成されるオブジェクトがファクトリオブジェクト,インスタンス定義から生成されるオブジェクトがインスタンスオブジェクトとなります。
それぞれのオブジェクトをどのように定義しているのかを,オブジェクトの概念図との対応で示します。
このクラス定義から,オブジェクトを生成します。
ファクトリオブジェクトは,クラス定義に対して一つだけ存在します。インスタンスオブジェクトは,クラス定義に対して複数生成できます。
ファクトリ定義,インスタンス定義,およびクラス定義の言語仕様については,マニュアル「COBOL2002 言語 標準仕様編」 「7. 見出し部(IDENTIFICATION DIVISION)」を参照してください。