令和3年度 秋期 応用情報技術者試験 午前 問48
図は,ある図形描画ツールのクラス図の一部である。新たな形状や線種で図形を描画する機能の追加を容易にするために,リファクタリング"継承の分割"を行った。変更後のクラス図はどれか。

キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ウ
「継承の分割」は、クラスの責務を分離し、再利用性や拡張性を高める設計手法です。
問題のクラス図では「図形」クラスの下に「三角形」「四角形」などの形状と「太線の三角形」「太線の四角形」という線種が混在しています。
これは「形状」と「線種」が同じレベルで継承されており、将来的に新たな形状や線種を追加する際にクラスの増加が避けられません。
「継承の分割」を行うことで、「線種」という独立したクラスを設け、「図形」は形状を継承し、「線種」は線の太さなどの属性を管理する設計になります。
これにより、新たな形状や線種の追加が容易になります。
- ア: 全てのクラスが「図形」クラスの下に直接ぶら下がっており、形状と線種が混在しています。これでは継承の分割が行われていません。
- イ: 「太線の図形」が独立したクラスになっていますが、「線種」の継承は分割されておらず、問題の本質を解決していません。
- ウ: 「線種」という新しいクラスが作られ、「図形」と関連付けられています。これにより、新しい線種や形状の追加が容易になります。継承が適切に分割されています。
- エ: 「図形」と「線種」が交錯しており、「線種」が形状の下にぶら下がっています。これでは「継承の分割」が十分ではありません。
答え
ウ
出典:令和3年度 秋期 応用情報技術者試験 午前 問48