COBOL2002 操作ガイド


9.3.4 ファクトリオブジェクトとインスタンスオブジェクト

クラス定義のファクトリ定義(FACTORY)とインスタンス定義(OBJECT)のデータの操作について説明します。

〈この項の構成〉

(1) オブジェクト

ファクトリオブジェクトは,ファクトリ定義のデータの集まりと,そのデータに対する操作の集まりです。インスタンスオブジェクトは,クラスのインスタンス定義のデータと,そのデータに対する操作の集まりです。クラス定義からは,一つのファクトリオブジェクトと,複数のインスタンスオブジェクトが生成されます。

ファクトリオブジェクトとインスタンスオブジェクトを合わせて,オブジェクトと呼びます。オブジェクトは,オブジェクト参照データ項目または既定義オブジェクトの値によって,一意となります。ファクトリオブジェクトまたはインスタンスオブジェクトに定義されるデータを,オブジェクトデータとします。

ファクトリオブジェクトとインスタンスオブジェクトの例を次に示します。

図9‒2 ファクトリオブジェクトとインスタンスオブジェクト

[図データ]

(2) オブジェクトデータの表示

[データの操作]メニューから[データ値の表示]を選ぶか,DISPLAY OBJECT/DIPLAY FACTORYコマンドで,次のオブジェクトデータが表示できます。

注意事項
  • オブジェクト生成時のクラスのスーパクラスのデータを表示できます。表示をするときは,スーパクラスも,-TDInfコンパイラオプションを指定してコンパイルします。

  • 集団項目に属し,OCCURS句に DEPENDINGの指定のあるデータ項目よりあとにあるデータ項目は,オブジェクトが生成されても,そのメソッドが呼ばれるまで値の表示ができません。

中断点から参照できるデータ項目の例を次に示します。

[図データ]

(3) オブジェクトデータの監視

ファクトリオブジェクト・インスタンスオブジェクトのデータは,オブジェクトごとのデータの変化を監視します。また,一つのオブジェクトのデータだけの監視を指定できます。一つのオブジェクトのデータの監視を指定したとき,監視の対象とするオブジェクトデータは次のとおりです。

データ監視条件の詳細については,「10.9 データ監視条件の設定と解除」を参照してください。

(4) ファイルシミュレーション

一つのファイル定義で複数のファイル結合子がある場合は,ファイル結合子単位にシミュレーション手続きが実行されます。

(例)

[図データ]

社員インスタンスオブジェクトA,B…は,それぞれファイル結合子を持つため,一つのファイルシミュレーション定義が個々に有効となります。

社員インスタンスオブジェクトAの計算のREADに対して(1)が実行され,CLOSE前に社員インスタンスオブジェクトBの計算のREADが実行されても個々にファイルシミュレーション定義が有効なので(1)が実行されます。

カウンタ変数または繰り返し指定の反復回数はファイル結合子単位に実行されるシミュレーション単位にカウントされます。