ぺんぎんらぼ

お笑いとマンガ好きなしょぼしょぼWeb系エンジニアの日記です

*

UMLとJavaのコードをセットで覚える

      2016/04/24

勉強するたびに忘れてしまうUML。Java Goldの勉強をしていたらいい感じのJavaの実装とUML図が出てきたのでメモ。基本はこれ。

用語 解説
has-a 関係 全体を表現するクラスの属性に部分となるクラスが存在する、集約関係を表す。
コンポジションは集約関係の一種。全体と部分のオブジェクトのライフサイクルが同一の状態を指す。
is-a 関係 クラス間の構造に似通ったものが存在する関係を表す。
Java言語では継承関係(extends)で成立する。
dependency 関係 他のクラスの変数を利用したり、一時的に別のクラスのオブジェクトを参照する場合は、依存関係を表す。
realization 関係 実現関係を表す。

上記の表、次のコードとUMLのネタ元にさせていただいたのは『オラクル認定資格教科書 Javaプログラマ Gold SE 7 スピードマスター問題集 (EXAMPRESS)』

 

例1. スーパークラス/インスタンスの生成と参照の保持/setterとgetter

■コード
・AクラスのスーパークラスはSクラス
・スーパークラスSはBクラスへの参照を持っている
・CクラスはUクラスのpublicメソッドを呼び出し、変数を使用する
・AクラスはYクラスのpublic変数を使用する

■UML

UML1

■例2 ArrayListのインスタンスを生成してList型の参照で保持

■コード

■UML
UML2

AクラスはArrayListのインスタンスを参照し、ArrayListはCクラスのインスタンスを参照するので、二重の集約関係となる。

 - Java, お仕事 , ,