『オブジェクト指向のこころ』演習問題 第2章

章の概要

 UML(Unified Modeling Language)の話。クラス図と相互作用図を扱った。クラス図はクラス間の静的な関係、相互作用図は動的な関係を表すことができる。

演習問題

基礎

[1] is-a関係、has-a関係の違い

is-a: あるクラスが他のクラスの一種である関係

has-a: あるクラスが他のクラスを保持している関係

has-a: には(1)Compositionと(2)Aggregationの2つがある。

 
[2]クラス図の3つの要素

- クラス名

- データメンバ (accessibility含む)

- メソッド(accessibility含む)

 

[3] カーディナリティとは

クラスに対して、存在できるインスタンスの個数

 
[4] シーケンス図の目的とは

オブジェクト間のメッセージのやりとりを、処理の順番にしたがって表現すること

 

 

応用

[1] is-a関係の例、has-a関係の例

f:id:Riguo:20210513010507j:plain

is-a, has-aの例
[3] "処理を起動する"というより"メッセージを送信する"といった方が良い理由とは

 OOPはオブジェクトがその他のオブジェクトに対して処理を委託する(責任を移譲する)枠組みであるため。処理を起動するというと、手続き型っぽい表現になる。