図は,ある図形描画ツールのクラス図の一部である。新たな形状や線種で図形を描画する機能の追加を容易にするために,リファクタリング“継承の分割”を行った。変更後のクラス図はどれか。
〔クラス図〕 [三角形]─▷[図形] [四角形]─▷[図形] [太線の三角形]─▷[三角形] [太線の四角形]─▷[四角形] 凡例 [ ]:クラス ─▷:継承 →:関連
テクノロジ系
図は,ある図形描画ツールのクラス図の一部である。新たな形状や線種で図形を描画する機能の追加を容易にするために,リファクタリング“継承の分割”を行った。変更後のクラス図はどれか。
〔クラス図〕 [三角形]─▷[図形] [四角形]─▷[図形] [太線の三角形]─▷[三角形] [太線の四角形]─▷[四角形] 凡例 [ ]:クラス ─▷:継承 →:関連
正解 ウ
継承の分割は、2つの役割(形状と線種)を兼ねた継承階層を2つの階層に分けます。そのうえで、2つを関連(委譲)で結びます。
元のクラス図では、形状(三角形、四角形)と線種(太線)という2つの観点が1つの継承階層に混ざっています。このままでは、形状と線種の組合せごとにクラスが必要です。継承の分割は、図形の階層と線種の階層を別々に作り、図形から線種へ関連を張るリファクタリングです。ウはこの形になっています。新しい形状は図形の下に、新しい線種は線種の下に1クラス追加するだけで済みます。
ア:形状と線種の組合せごとのクラスを図形の直下に並べただけです。2つの観点は分かれていません。形状や線種が1つ増えるたびに、組合せの数だけクラスが必要です。
イ:太線の三角形や太線の四角形という組合せのクラスが残っています。線種が増えると、形状の数だけクラスを追加する必要があります。
エ:三角形と太線の両方を継承する多重継承で、組合せのクラスが残っています。継承の分割では、継承ではなく関連(委譲)で2つの階層を結びます。
出典:令和3年度 秋期 応用情報技術者試験 問48
全年度から出題。10問で実力を判定します。登録不要。
出典:令和3年度 秋期 応用情報技術者試験 問48(独立行政法人情報処理推進機構)
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方