ソフトウェア方式設計・詳細設計(全58問中31問目)
No.31解説へ
オブジェクト指向の特徴はどれか。
出典:平成23年特別 問48
- オブジェクト指向では,抽象化の対象となるオブジェクトに対する操作をあらかじめ指定しなければならない。
- カプセル化によって,オブジェクト間の相互依存性を高めることができる。
- クラスの変更を行う場合には,そのクラスの上位にあるすべてのクラスの変更が必要となる。
- 継承という概念によって,モデルの拡張や変更の際に変更箇所を局所化できる。
正解 エ問題へ
広告
解説
オブジェクト指向プログラミングは、システムの構築や設計において、処理や対象の対象となるもの(オブジェクト)同士のやり取りの関係としてシステムをとらえる考え方です。データと手続きをひとまとめにしてカプセル化することで実現します。オブジェクト指向の考え方を取り入れたプログラム言語(オブジェクト指向言語)にはC++やJavaなどがあり、カプセル化、継承、多態性などの特徴をもっています。
- カプセル化(情報隠ぺい)
- オブジェクトの内部を外部から見えないようにして、ブラックボックス化すること。オブジェクトのデータとそれに対する操作をセットで定義し、外部には特定の手続きだけを公開することで実現する。使う人は内部の情報を知らなくともオブジェクトを扱うことができる
- 継承(インヘリタンス)
- あるクラスが上位クラスの特性を引き継いでいる関係のこと。たとえば、自動車クラスに対して、それを特化させた乗用車クラスやトラッククラスなどとの関係がこれに当たる。上位の特性を引き継げることで差分プログラミングが可能となる
- 多態性(ポリモルフィズム)
- オブジェクトへの操作呼び出しが、呼び出し側でなく受け手側の特性で決まること。たとえば、犬クラスの「鳴く」という手続きを呼び出せば「ワン」、猫クラスの「鳴く」呼び出せば「ニャー」というように、同じメッセージを送っても受け手のオブジェクトによって行われる操作が異なる様子を表す
- 抽象クラスでは、複数のクラスに共通するメソッドの名前や引数などのみ(実際の処理内容を含まない)を定義できます。これを抽象メソッドといいます。
- カプセル化によってデータと手続きをオブジェクト内部にまとめることで独立性が高くなります。その結果、オブジェクト間の相互依存性を低くすることができます。
- 下位クラスが独自に定義した変数や手続きは上位クラスに影響を与えないので、上位クラスを変更する必要がありません。
- 正しい。下位クラスを作成するときに、継承によって上位クラスの機能や性質を引き継ぐことができます。上位クラスでの変更は自動的に下位クラスに適用されるので、継承を使わずにそれぞれの別個のクラスを定義する場合と比較して、変更の際に変更する箇所を少なくすることができます。
広告