3.2.3 クラス定義
クラス定義は,見出し部でクラス名段落を指定して定義します。
クラス名段落の言語仕様については,マニュアル「COBOL2002 言語 標準仕様編」 「7.2 クラス名段落(CLASS-ID)」を参照してください。また,クラス定義の詳細については,「20 オブジェクト指向機能」を参照してください。
クラス定義は,ファクトリ定義,インスタンス定義,およびそれらの各メソッド定義を含むことができます。
-
クラス定義固有のファクトリオブジェクトの型を定義します。ファクトリ定義は,ファクトリデータ定義およびファクトリメソッド定義から構成されます。すべてのクラスにはファクトリオブジェクトが一つあり,ファクトリに固有なデータとメソッドを持ちます。ファクトリオブジェクトの主な用途は,オブジェクトインスタンスの生成,およびクラスに属するすべてのインスタンスに共通するデータの管理です。
ファクトリ名段落については,マニュアル「COBOL2002 言語 標準仕様編」 「7.3 ファクトリ段落(FACTORY)」を参照してください。
-
クラス定義固有のインスタンスオブジェクトの型を定義します。インスタンス定義は,インスタンスデータ定義およびインスタンスメソッド定義から構成されます。インスタンスオブジェクトとは,それ自身に固有なデータ項目やファイル結合子から構成されるプログラムで,そのクラス定義の中で定義されたメソッド群を共有します。インスタンス定義には,データの特性と,そのクラスに属する各インスタンスオブジェクトに関して呼び起こされるメソッド群を記述します。
オブジェクト段落については,マニュアル「COBOL2002 言語 標準仕様編」 「7.7 オブジェクト段落(OBJECT)」を参照してください。
-
メソッド定義は,メソッドが定義されたクラスのインスタンスオブジェクトおよびファクトリオブジェクトに含まれるデータを操作する手続き文の集まりです。メソッドは,それぞれ固有のメソッド名を持ち,固有のデータ部や手続き部を持ちます。メソッドは,インスタンスオブジェクトまたはファクトリオブジェクトを参照する一意名とそのメソッド名を指定することで呼び起こされます。メソッドには引数や返却項目を指定できます。
メソッド名段落については,マニュアル「COBOL2002 言語 標準仕様編」 「7.6 メソッド名段落(METHOD-ID)」を参照してください。
クラス定義の例を次に示します。