オブジェクト指向の理解には、それが生まれた理由を理解することが重要です。
究極には、『作成したプログラムを如何にして再利用するか?』です。
間違いない動作をするプログラムを作ることは、大変な作業だと思います。
苦労して一度作成したものなので、再利用しなければもったいないという訳です。
オブジェクト指向を学習する場合、この『 』という視点で、
プログラミングしなければ習得できないでしょう。
そのためには、動けばいいと言う発想でなく、コードを吟味してこれより良い作り方がないか?
という姿勢でプログラミングする必要があります。
例えば、『商品コードとその数量』が複数あって、そのデータファイルを作るプログラム作成を考えます。
この場合、作ればよいだけならmain一つの中で、指定のファイルを作成して、指定のデータを順番に書きこんでしまえば終わりです。
しかし、このような簡単な場合でも
『如何にしたら将来、再利用できるか?』の視点で、将来的な処理を検討すると
『商品コードとその数量』の「ファイル内データ集計作業」があるかも、
「複数のファイルで集計」するかも、
「特定範囲のデータを抽出」する作業があるかも、
または「並び替えする」必要があるかも、
『商品コードとその数』に新しく商品名などの「項目を追加」しなくてはならなくなるかも、・・・
と可能性がある処理はたくさん挙げられます。
それらを考慮して、再利用できるように、プログラムすることです。
まず、初期の仕様として、『商品コードとその数量』のデータが複数存在するということから、
構造的にまとめて管理すべきというのは、オブジェクト指向以前からのセオリーです。
仕様の構造にマッチさせて、商品コードと数量のメンバをまとめた構造の型を作ることにより、
コード内のデータの関連性を分かりやすくするためです。C言語なら構造体、Javaならクラスで作ります。
以下にRecord2のクラス名で作ったJavaの例を示します。
確認用クラスで2件のデータを設定した後で表示させています。
Record2.java | Test.java |
---|---|
public class { public String ; // 商品コード public short suu; // 数量 } |
public class Test{ public static void main(String[] arg){ Record2 a = Record2(); Record2 b = Record2(); a.shoCode = "A01"; a.suu = 10; b.shoCode = "B02"; b.suu = 7; System.out.println("商品コード:" + a.shoCode); System.out.println("商品数:" + a.suu); System.out.println("商品コード:" + b.shoCode); System.out.println("商品数:" + b.suu); } } |
←全ての『未選択』の箇所を正しく選択してから評価ボタンをクリックしてください