図は、ある図形描画ツールのクラス図の一部である。新たな形状や線種で図形を描画する機能の追加を容易にするために、リファクタリング“継承の分割”を行った。変更後のクラス図はどれか。〔クラス図〕図形クラスから三角形クラスと四角形クラスが継承され、三角形クラスから太線の三角形クラスが、四角形クラスから太線の四角形クラスがそれぞれ継承されている。
独立した2つの観点は継承ではなく関連で分離する

選択肢
- ア図形クラスから、細線の三角形・細線の四角形・太線の三角形・太線の四角形の4クラスが直接継承される構造
- イ図形クラスと太線の図形クラスが関連(矢印)で結ばれ、図形クラスから三角形・四角形が継承され、太線の図形クラスから太線の三角形・太線の四角形が継承される構造
- ウ図形クラスから線種クラスへ関連が張られ、図形クラスから三角形・四角形が継承され、線種クラスから太線・細線が継承される構造
- エ図形クラスから三角形・四角形が継承され、三角形から太線の三角形、四角形から太線の四角形がそれぞれ継承され、さらに太線の三角形と太線の四角形の両方から太線クラスへ継承(逆向き三角矢印)が向かう構造
正解と解説
正解:ウ 図形クラスから線種クラスへ関連が張られ、図形クラスから三角形・四角形が継承され、線種クラスから太線・細線が継承される構造
元の設計は「形状」と「線種」という2つの独立した観点を継承の階層に押し込んでいるため、形状や線種を増やすとクラス数が組合せの数だけ増えてしまう。そこで線種を図形とは別のクラス階層として切り出し、図形から線種を参照する関連にすれば、形状と線種を独立に拡張できる。これが「継承の分割」であり、Bridgeパターンの考え方に相当する。
選択肢ごとの解説
- ア形状と線種の全組合せを図形の直下に並べる構造で、組合せ爆発が解消されていない。
- イ太線という線種ごとに図形の階層を複製する形になり、線種を増やすたびに階層が増えてしまう。
- ウ正しい。線種を独立したクラス階層に分離し、図形から関連で参照することで両者を独立に拡張できる。
- エ太線クラスへ継承を向ける構造は階層が複雑になるだけで、組合せの増加は解消されない。
同じ分野の他の問題
- UMLのダイアグラムのうち、インスタンス間の関係を表現するものはどれか。2025年度 秋期 午前 問47
- モジュール結合度に関する記述のうち、適切なものはどれか。2024年度 春期 午前 問46
- オブジェクト指向におけるクラス間の関係のうち、適切なものはどれか。2024年度 春期 午前 問45
- 値引き条件に従って、商品を販売する。決定表の動作指定部のうち、適切なものはどれか。〔値引き条件〕①上得意客(前年度の販売…2023年度 春期 午前 問47
- モジュールの独立性を高めるには、モジュール結合度を低くする必要がある。モジュール間の情報の受渡し方法のうち、モジュール結…2023年度 春期 午前 問46
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。