ここでは、この製品で提供されているサンプルプログラム-sample10-について説明します。
sample10では、オブジェクト指向プログラミング機能を使ったプログラムの例を示します。このプログラムでは、カプセル化、オブジェクトの生成、メソッド呼出しといった、オブジェクト指向の基本的な機能だけを使用しています。
概要
最初に従業員オブジェクトを三つ生成しています。“NEW”メソッドでオブジェクトを生成した後、“Data-Set”を呼び出してデータを設定しています。それぞれの従業員オブジェクトはすべて同じ形をしています。しかし、持っているデータ(従業員番号、氏名、所属、住所情報)は異なります。また、住所情報もオブジェクトであり、郵便番号と住所を持っています。
画面から従業員番号を入力すると、当該従業員オブジェクトに対して“Data-Display”メソッドを呼び出し、そのオブジェクトが持っている従業員情報を画面に表示します。このとき、従業員オブジェクトは、住所の情報を得るために、従業員オブジェクトが指している住所オブジェクトに対し、“Data-Get”メソッドを呼び出します。
従業員オブジェクトは、三つのデータと住所オブジェクトから構成されています。しかし、これを使う側(この場合はメインプログラム)はオブジェクトの構造を知っている必要はありません。“Data-Set”と“Data-Display”の二つのメソッドだけを知っていれば十分です。つまり、データとアクセス手段を一つにまとめる(カプセル化)ことにより、オブジェクト内部の情報を完全に隠蔽しているわけです。
使用しているCOBOLの機能
オブジェクト指向プログラミング機能
クラスの定義(カプセル化)
オブジェクトの生成
メソッド呼出し
使用しているオブジェクト指向の文/段落/定義
提供プログラム
main.cob(COBOLソースプログラム)
member.cob(COBOLソースプログラム)
address.cob(COBOLソースプログラム)
Makefile(メイクファイル)
翻訳、リンク、実行方法
$ make cobol -c -WC,"CREATE(REP)" -dr. address.cob 最大重大度コードは I で,翻訳したプログラム数は 1 本です. cobol -c -WC,"CREATE(REP)" -dr. member.cob 最大重大度コードは I で,翻訳したプログラム数は 1 本です. cobol -dr. -M -c main.cob 最大重大度コードは I で,翻訳したプログラム数は 1 本です. cobol -dr. -c address.cob 最大重大度コードは I で,翻訳したプログラム数は 1 本です. cobol -dr. -c member.cob 最大重大度コードは I で,翻訳したプログラム数は 1 本です. cobol -o sample10 main.o address.o member.o $ ./sample10 従業員番号を入力して下さい(1 or 2 or 3) 1 NO.--氏名-------------所属-------------〒-------住所-------------------------- 0001 富士通一郎 営業第一課 410-0007 静岡県沼津市北沢田328−11 終了しますか?(Y/N) Y $