基本情報技術者平成29年秋期 午前問7

問7

オブジェクト指向プログラミングにおける,多相性を実現するためのオーバーライドの説明はどれか。
  • オブジェクト内の詳細な仕様や構造を外部から隠蔽すること
  • スーパークラスで定義されたメソッドをサブクラスで再定義すること
  • 同一クラス内に,メソッド名が同一で,引数の型,個数,並び順が異なる複数のメソッドを定義すること
  • 複数のクラスの共通する性質をまとめて,抽象化したクラスを作ること

分類

テクノロジ系 » アルゴリズムとプログラミング » プログラミング

正解

解説

オーバーライド(Override)は、上位クラスで定義されたメソッド(メンバー関数)を、下位クラス側の役割に応じて再定義し動作を変更することです。オブジェクト指向ではこの方法によって、"同じメッセージを送ってもオブジェクトごとに異なる操作が行われる"特性である多相性を実現しています。

親クラスで関数 Hello() が「"こんにちは"を表示する」と定義されているとき、子クラスで hello をオーバーライドして「"ごきげんよう"を表示する」と挙動を変更するようなイメージです。
  • カプセル化の説明です。
  • 正しい。オーバーライドの説明です。
  • オーバーロードの説明です。hello(性別) と hello(性別, 年齢) など引数が異なる同名の関数を同一クラス内に定義することです。
  • 汎化の説明です。例えば、りんごクラス、みかんクラス、ももクラスに共通の特性を集めて果物クラスを作ることです。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop