ページの先頭行へ戻る
NetCOBOL V11.1 入門ガイド
FUJITSU Software

6.10 オブジェクト指向プログラム(初級編)(sample10)

ここでは、この製品で提供されているサンプルプログラム-sample10-について説明します。

sample10では、オブジェクト指向プログラミング機能を使ったプログラムの例を示します。このプログラムでは、カプセル化、オブジェクトの生成、メソッド呼出しといった、オブジェクト指向の基本的な機能だけを使用しています。

概要

最初に従業員オブジェクトを三つ生成しています。“NEW”メソッドでオブジェクトを生成した後、“Data-Set”を呼び出してデータを設定しています。それぞれの従業員オブジェクトはすべて同じ形をしています。しかし、持っているデータ(従業員番号、氏名、所属、住所情報)は異なります。また、住所情報もオブジェクトであり、郵便番号と住所を持っています。

画面から従業員番号を入力すると、当該従業員オブジェクトに対して“Data-Display”メソッドを呼び出し、そのオブジェクトが持っている従業員情報を画面に表示します。このとき、従業員オブジェクトは、住所の情報を得るために、従業員オブジェクトが指している住所オブジェクトに対し、“Data-Get”メソッドを呼び出します。

従業員オブジェクトは、三つのデータと住所オブジェクトから構成されています。しかし、これを使う側(この場合はメインプログラム)はオブジェクトの構造を知っている必要はありません。“Data-Set”と“Data-Display”の二つのメソッドだけを知っていれば十分です。つまり、データとアクセス手段を一つにまとめる(カプセル化)ことにより、オブジェクト内部の情報を完全に隠蔽しているわけです。

使用しているCOBOLの機能

使用しているオブジェクト指向の文/段落/定義

提供プログラム

翻訳、リンク、実行方法

$ 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
        
$