オブジェクト指向設計における設計原則の説明のうち,開放・閉鎖原則のものはどれか。
拡張には開き修正には閉じるのが開放・閉鎖原則
選択肢
- アクラスにもたせる役割は一つだけにするべきであり,複数の役割が存在する場合にはクラスを分割する。
- イクラスを利用するクライアントごとに異なるメソッドが必要な場合は,インタフェースを分ける。
- ウ上位のモジュールは,下位のモジュールに依存してはならない。
- エモジュールは,機能の追加や変更が可能であって,その影響を他のモジュールに及ぼしてはならない。
正解と解説
正解:エ モジュールは,機能の追加や変更が可能であって,その影響を他のモジュールに及ぼしてはならない。
開放・閉鎖原則(Open-Closed Principle)は、モジュールは機能の拡張に対しては開いており、既存コードの修正に対しては閉じているべきだという原則である。抽象に依存する構造にしておけば、新しい振る舞いは実装の追加で対応でき、既存モジュールに手を入れずに済むため、変更の影響が他へ波及しない。
選択肢ごとの解説
- ア一つのクラスに一つの役割だけをもたせるのは単一責任の原則である。
- イクライアントごとにインタフェースを分けるのはインタフェース分離の原則である。
- ウ上位モジュールが下位モジュールに依存しないようにするのは依存関係逆転の原則である。
- エ正しい。拡張に開き修正に閉じ、影響を他へ及ぼさないのが開放・閉鎖原則である。
同じ分野の他の問題
- サブルーチンとの引数の受渡し方のうち,引数として渡した変数の値が,サブルーチンの実行後に変更されないことが保証されている…2025年度 春期 午前II 問9
- プログラムの構造的な複雑度を測る尺度としてMcCabeが提唱したサイクロマティック複雑度がある。制御の流れが次のグラフで…2025年度 春期 午前II 問8
- デザインパターンの一つであるObserverパターンを利用して実現できることはどれか。2025年度 春期 午前II 問5
- 論理型プログラミングにおいて、命題の証明を行うための基本的な機能はどれか。2024年度 春期 午前II 問9
- 純粋関数型言語がもつ特性の一つである参照透過性の説明はどれか。2024年度 春期 午前II 問8
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。