1. 実装レベルへの落とし込み
1.1. クラスの責務と実装
1.1.2 計算式関連クラスについて考える
先ほどのクラス図に、ここで決定したクラスを書き足してみましょう。
1. 「×クラス」、「÷クラス」は「式クラス(インタフェース)」を継承しています。
2. 「×クラス」は「数値クラス」のインスタンスである、x、y、答を保持します。
3. 「÷クラス」は「数値クラス」のインスタンスである、x、答を保持します。
4. 「÷クラス」は「割る数値クラス」のインスタンスである、yを保持します。
〜集約とコンポジション〜
クラス間の関係で、全体と一部をあらわすものに、「集約」と「コンポジション」があります。
今回の例で考えると、式は必ず「x」、「y」と「答」の三つの数値を持っており、式が消滅すれば、数値も消滅します。このように、全体が消滅した場合、その一部も消滅するような強い結びつきをコンポジションと呼びます。