基本情報技術者平成22年春期 午前問47

問47

オブジェクト指向におけるクラス間の関係のうち,適切なものはどれか。
  • クラス間の関連は,二つのクラス間でだけ定義できる。
  • サブクラスではスーパークラスの操作を再定義することができる。
  • サブクラスのインスタンスが,スーパークラスで定義されている操作を実行するときは,スーパークラスのインスタンスに操作を依頼する。
  • 二つのクラスに集約の関係があるときには,集約オブジェクトは部品オブジェクトの属性と操作を共有する。
  • [出題歴]
  • 応用情報技術者 R6春期 問45

分類

テクノロジ系 » システム開発技術 » ソフトウェア方式設計・詳細設計

正解

解説

  • クラス間の関係性には、関連、汎化、集約、コンポジション、実現、依存の6つがあります。いずれも2つのクラス間に限られず、1つのクラスが複数のクラスと関係を持つことができます。例えば、1つのスーパークラスに対して複数のサブクラスが存在することなどが挙げられます。
    なお、スーパークラスは親クラスや基底クラス、サブクラスは子クラスや派生クラスと呼ばれることもあります。
  • 正しい。スーパークラスで定義された操作はサブクラスに継承されますが、サブクラスではスーパークラスから継承した操作を再定義する(置き換える)ことができます。これを「オーバーライド」と言います。
  • サブクラスのインスタンスを作成する際には、まず親クラスのコンストラクタが呼ばれ、次に子クラスのコンストラクタが呼ばれます。このため、サブクラスのインスタンスは、スーパークラスで定義されている操作を自身の操作として実行できます。
  • 集約は全体と部分の関係を表します。2つのクラスに集約の関係があるときには、部品オブジェクトは集約オブジェクトの構成要素でしかないので、汎化関係と異なり属性と操作は共有しません。汎化関係と異なる点は、集約オブジェクトは部品オブジェクトへの参照を所有することです。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop