オブジェクト指向プログラミングについて、次の (a) 〜 (c) の説明が表す概念の組合せとして、最も適切なものはどれか。
(a) クラスBがクラスAのフィールドやメソッドを内包して利用できること
(b) データの構造とデータへの操作をひとまとめにすること
(c) 同じメソッド名をクラスによって異なるふるまいで実行させること
a b c
@ 汎化 カプセル化 抽象化
A 継承 カプセル化 ポリモーフィズム
B 汎化 クラス ポリモーフィズム
C 継承 情報隱蔽 抽象化
D 汎化 情報隠蔽 ポリモーフィズム
A
継承は、あるクラスのフィールドやメソッドを別のクラスがそのまま同様に利用できることである。
カプセル化は、データとそれを操作する手続を一つのオブジェクトにして、データと手続の詳細をオブジェクトの外部から隠蔽することである。
ポリモフィズムは、同じメソッドを異なるふるまいで実行させることである。
汎化は、複数のクラスに共通する部分を一般化することである。
汎化-特化の関係は「子クラス is a 親クラス」 の関係であり、例えば、トラック is a 車、乗用車 is a 車 のような関係にある。
抽象化は、対象となるものから共通する性質や要素を抽出し、本質的な概念として定義することである。
クラスは、同じような種類のオブジェクトを集め、属性と操作を定義したものである。
情報隠蔽は、オブジェクトの内部実装の詳細を隠し、外部から直接にアクセスできないようにすることである。
V−6 | 目次 | V−8 |