ここでは、本製品で提供するサンプルプログラム-Sample18-について説明します。
Sample18では、カプセル化、継承、多態といったオブジェクト指向の特徴的な機能をすべて使用したプログラムの例を示します。
このプログラムでは、複数の従業員オブジェクトを扱うために、
“6.17 コレクションクラス(クラスライブラリ)(Sample16)”で作成したDictクラスを使用しています。
概要
従業員情報の管理(登録、削除、修正)、給与計算および住所録の印刷を行います。
従業員には、一般従業員と管理職があり、それぞれ保持するデータや給与計算方法が異なります。そのため、全従業員共通の属性を定義した従業員クラス(AllMember-class)、一般従業員固有の属性を定義した一般クラス(Member-Class)および管理職固有の属性を定義した管理職クラス(Manager-Class)の3つのクラスを用意しています。なお、一般クラスおよび管理職クラスは、従業員クラスを継承しています。
従業員情報のうち、住所については独立のクラス(住所クラス:Address-Class)で管理しています。そのため、従業員(およびその子クラスの)オブジェクトから住所オブジェクトを参照するようになっています。
管理対象となる従業員の数が多いと、その分の従業員オブジェクトを管理しなければなりません。
そのために、“6.17 コレクションクラス(クラスライブラリ)(Sample16)”で作成した辞書クラス(Dict)を使用しています。従業員番号をキーとして従業員オブジェクトを辞書に登録しておきます。辞書クラスを使用すると、複数の従業員オブジェクトに対する繰返し処理や、従業員オブジェクトの検索を簡単に行うことができます。
提供プログラム
Main.cob(COBOLソースプログラム)
Ctl_Memb.cob(COBOLソースプログラム)
Allmem.cob(COBOLソースプログラム)
Member.cob(COBOLソースプログラム)
Manager.cob(COBOLソースプログラム)
Adress.cob(COBOLソースプログラム)
Bonu_man.cob(COBOLソースプログラム)
Sala_man.cob(COBOLソースプログラム)
Sala_mem.cob(COBOLソースプログラム)
Sample18.kbd(キー定義ファイル)
COBOL85.CBR(実行用の初期化ファイル)
Makefile(メイクファイル)
以下は、Sample16で作成されたファイルを使用します。
DICT.REP(リポジトリファイル)
LIST.REP(リポジトリファイル)
COLLECT.dll(DLLファイル)
COLLECT.lib(インポートライブラリ)
COLLECT.REP(リポジトリファイル)
使用しているCOBOLの機能
使用しているオブジェクト指向の文/段落/定義