ここでは、本製品で提供するサンプルプログラム-Sample19-について説明します。
Sample19では、“6.19 オブジェクト指向プログラム(上級編)(Sample18)”で作成したプログラムを基に、オブジェクトを永続化する例を示します。Sample18では、オブジェクトはすべてメモリ上に作成されていました。そのため、プログラム終了時に、オブジェクトはすべて消えてしまいます。しかし、実際のシステムでは、プログラム終了後もデータは残っていなければなりません。つまり、一部のオブジェクトはプログラムの実行をまたがって存在し続けなければなりません。このようなオブジェクトを、“永続オブジェクト”と呼びます。
従来のプログラムでは、このようなデータはファイルやデータベースに格納されていました。永続オブジェクトの一般的な実現方法は、永続化するオブジェクトをファイルやデータベースのデータに対応付けることです。この例では、それぞれのオブジェクトを索引ファイルのレコードに対応付けることにより、永続オブジェクトを実現しています。
オブジェクトの永続化の詳細は、“NetCOBOL ユーザーズガイド”の“オブジェクトの永続化”を参照してください。
概要
Sample18と同様に、従業員情報の管理(登録、削除、修正)、給与計算および住所録の印刷を行います。
このSampleでは、これらの機能に加えて、従業員オブジェクトおよび住所オブジェクトを索引ファイルに格納し、永続化する機能を追加しています。これらの機能は従業員オブジェクトおよび住所オブジェクトに、以下のメソッドを追加することで実現しています。
RetAt-Methodメソッド(従業員番号をキーに、オブジェクトをファイルから読み込む)
RemoveAt-Methodメソッド(従業員番号をキーに、オブジェクトをファイルから削除する)
Store-Methodメソッド(オブジェクトをファイルに格納する)
実際には、従業員マスタクラス、住所マスタクラスと連携しながら永続化を行っていますが、オブジェクトの使用者(この例の場合は、メインプログラム)からは従業員オブジェクトがすべて行っているように見えます。
提供プログラム
Main.cob(COBOLソースプログラム)
Allmem.cob(COBOLソースプログラム)
Member.cob(COBOLソースプログラム)
Manager.cob(COBOLソースプログラム)
Address.cob(COBOLソースプログラム)
Set.cob(COBOLソースプログラム)
Store.cob(COBOLソースプログラム)
Allmem_m.cob(COBOLソースプログラム)
Allmemmf(データファイル)
Bonu_man.cob(COBOLソースプログラム)
Bonu_mem.cob(COBOLソースプログラム)
Mem_set.cob(COBOLソースプログラム)
Mem_stor.cob(COBOLソースプログラム)
Man_set.cob(COBOLソースプログラム)
Man_stor.cob(COBOLソースプログラム)
Addr_m.cob(COBOLソースプログラム)
Addr_mf(データファイル)
Sala_man.cob(COBOLソースプログラム)
Sala_mem.cob(COBOLソースプログラム)
COBOL85.CBR(実行用の初期化ファイル)
Sample19.kbd(キー定義ファイル)
Makefile(メイクファイル)
使用しているCOBOLの機能
使用しているオブジェクト指向の文/段落/定義