Java
クラス
インスタンス
フローチャート
オブジェクト指向プログラミング

 オブジェクト指向プログラミング(OOP)の図式化のためには標準的なUMLクラス図は存在しますが、メインの流れを説明する際にOOP用の記号があったら説明しやすいと考えました。
フローチャート上でのメソッド使用指示.png


 まずは以下のような点で既存の流れ図記号のみでは、OOPの流れを捉えきれません。

・既存の流れ図のOOP対応の限界

  1. メインの流れの中で、個々のインスタンスにどんな操作をしたか分からない。
  2. 各インスタンスの操作で戻り値なし(void)か、戻り値があったときに何に渡しているかが分からない。
  3. 呼び出される側のオブジェクト(抽象クラス)でどんな変数(プロパティ)が用意され、何をするメソッドが使えるのかが分からない。
  4. オブジェクト(抽象クラス)の継承とインターフェース継承の関係が分からない。

 そこでインスタンスを表すシンボルを考案しました。次の図は以前qiitaにアップしたVBSで作ったオブジェクト指向プログラミング体感用のウインドウ操作プログラムの紹介の記事のなかの電卓オブジェクトのインスタンス化を示す図です。
電卓クラスのインスタンス化の操作.PNG


 メインの流れ図上でインスタンスの動作を表現するための記号が、
スライド1.PNG
のような表現になります。


 赤電卓と黒電卓の2つのインスタンスを連携させて操作する簡単な処理について、このインスタンスの記号を用いて表現した流れ図が
個々のインスタンスの操作を示す流れ図.png
のような形になります。


 このフローチャートの形のJava言語のコードが

Dentaku2 AkaDentaku = new Dantaku2();
Dentaku2 KuroDantaku = new Dentaku2();
AkaDentaku.tasu(2.0);
KuroDentaku.tasu(5.0);
AkaDentaku.kakeru(4.0);
Double a = AkaDentaku.tasu(0.0));
a += KuroDentaku.tasu(0.0));
If (a >= 10.0)
        System.out.println(“赤電卓の答は” + AkaDentaku.tasu(0.0));
Else
        System.out.println(“黒電卓の答は” + KuroDentaku.tasu(0.0));

です。


 メインのフローの解析を邪魔せずに流れ図として表現するためには、OOP用の流れ図記号を導入するといいと考えました。

 このインスタンス記号のドロー画像を「オブジェクト指向プログラミング入門キット2」のパワーポイントスライドの中に入れています。独自の流れ図に組み込んでみたいときは活用いただけます。