NetBeans の UML ツールを適当にいじってます。
昨日の Factory Method パターンを試したものに BD クラスと BD_Factory クラスを追加してみます。
今回は自分でクラス図に要素を追加し、BD クラスと BD_Factory クラスの関連も描画したいと思います。
クラス図に BD クラスを追加してみます。
パレットの[ 基本 ] よりクラスを選んでクラス図に追加します。
追加された要素にクラス名を記入します。
名前のところをダブルクリックして編集可能にし入力します。
BD とクラス名の入力が完了すると操作に自動で public コンストラクタが追加されます。
次に DISC インターフェイスを実装します。
BD 要素を選択し、ポップアップされるアイコンの集まりの中から実装アイコンを選択し DISC インターフェイスまでドラッグします。
無事に DISC インターフェイスの実装が完了すると
DISC から再定義された操作
public String play()
という操作が自動で BD 要素に追加されます。
BD_Factory クラス要素も同様にクラス図に追加します。
BD_Factory クラスは DISK_Factory クラスのサブクラスになります。
今度は BD_Factory 要素を選択し、汎化アイコンを選択、そして DISC_Factory 要素までドラッグします。
汎化操作が完了すると
[ 再定義するメソッドを選択 ] ウィンドウが表示されます。
今回は抽象メソッドだけ実装します。
これまでの操作で下図のようにクラス図が作成されました。
それではクラス図より Java コードを生成してみましょう。
BD クラスと BD_Factory クラスの要素二つを選択し、右クリックします。
ポップアップメニューより [ コードを生成... ] をクリックします。
[ コードを生成 ] ウィンドウが表示されますので確認して [ 了解 ] ボタンを押します。
新たに BD クラスと BD_Factory クラスの Java ファイルが自動生成されました。
BD クラスのコードを下記のように編集します。
BD_Factory クラスも編集します。
最後に起動クラスの Main も。
これで新たにファクトリが追加されました。
ちゃんと動くか確かめてみます。
それではプログラムを実行してみましょう。
ちゃんんと動きましたね。(^^)
クラス図を確認すると BD_Factory 要素から BD要素への依存関係が描画されてませんね。
リバースエンジニアリングを適用しても自動で描画されなかったので手動で描画してみます。
BD_Factory 要素から依存アイコンを選択します。
BD要素へドラッグします。
点線矢印を選択し、右クリックでポップアップメニューより [ プロパティー ] をクリックします。
[ Dependency - プロパティー ] ウィンドウが表示されます。
[ ステレオタイプ ] の右端の [ ... ] ボタンを押します。
編集画面が出ますので [ 名前 ] を creates として [ 了解 ] ボタンを押します。

これで BD クラス要素と BD_Factory クラスの依存関係も描画されました。
やっぱり便利ですね(^^)
UML を覚えて他の機能も試したくなります。
でも、時間が足りないですorz
ゆっくり遊びながらマイペースでいきますか。。。
注意 : 昨日と今日取り上げた NetBeans の UML に関する記事は私が直感的に「このように操作するんだろうなぁ」と勝手にやったことです。
間違いや、もっと簡単な操作方法があるかもしれませんのであしからず・・・