令和6年春期試験問題 午前Ⅰ 問16

オブジェクト指向におけるクラス間の関係のうち,適切なものはどれか。

  • クラス間の関連は,二つのクラス間でだけ定義できる。
  • サブクラスではスーパークラスの操作を再定義することができる。
  • サブクラスのインスタンスが,スーパークラスで定義されている操作を実行するときは,スーパークラスのインスタンスに操作を依頼する。
  • 二つのクラスに集約の関係があるときには,集約オブジェクトは部品オブジェクトと,属性及び操作を共有する。
正解 問題へ
分野 :テクノロジ系
中分類:システム開発技術
小分類:ソフトウェア方式設計・詳細設計
解説
  • クラス間の関係性には、関連、汎化、集約、コンポジション、実現、依存の6つがあります。いずれも2つのクラス間に限られず、1つのクラスが複数のクラスと関係を持つことができます。例えば、1つのスーパークラスに対して複数のサブクラスが存在することなどが挙げられます。
    なお、スーパークラスは親クラスや基底クラス、サブクラスは子クラスや派生クラスと呼ばれることもあります。
  • 正しい。スーパークラスで定義された操作はサブクラスに継承されますが、サブクラスではスーパークラスから継承した操作を再定義する(置き換える)ことができます。これを「オーバーライド」と言います。
  • サブクラスのインスタンスを作成する際には、まず親クラスのコンストラクタが呼ばれ、次に子クラスのコンストラクタが呼ばれます。このため、サブクラスのインスタンスは、スーパークラスで定義されている操作を自身の操作として実行できます。
  • 集約は全体と部分の関係を表します。2つのクラスに集約の関係があるときには、部品オブジェクトは集約オブジェクトの構成要素でしかないので、汎化関係と異なり属性と操作は共有しません。汎化関係と異なる点は、集約オブジェクトは部品オブジェクトへの参照を所有することです。

Pagetop