問5 オブジェクト指向におけるオブジェクト表現に関する次の記述を読んで,設問 1 〜 3 に答えよ。
オブジェクト指向では,システム開発の対象をモデル化し,データと手続をまとめてオブジェクトとして表現する。
オブジェクト指向では,オブジェクト間の関係を明確にするために,オブジェクトを階層化して表現する。階層化には,“is-a
の関係”,“part-of の関係”,“has-a の関係”の 3 種類がある。
is-a の関係は,オブジェクトの一般化や特殊化を示し,“A
is-a B”は,“A は B(の一種)である”ことを示す。A には複数のオブジェクトが指定され,B
はそれらに共通な性質をもつオブジェクトである。A のオブジェクトが幾つか欠けた場合でも,B
はオブジェクトとして成立するものとする。
例えば,“V W is-a X”かつ“X Y is-a Z”の関係があるとき,V
と W に共通する性質が X であり,X と Y に共通する性質が Z である。また,このとき“V
W X Y is-a Z”の関係も成り立つ。
part-of の関係は,構成要素としてのオブジェクトを示し,“A
part-of B”は“A は B の部品又は一部である”ことを示す。A には複数のオブジェクトが指定され,B
はそれらで構成されたオブジェクトである。A のオブジェクトが一つでも欠けた場合には,B
はオブジェクトとして成立しないものとする。
例えば,“V W part-of X”かつ“X Y part-of
Z”の関係があるとき,X は V と W で構成され,Z は X と Y で構成される。また,このとき“V
W Y part-of Z”の関係も成り立つが,V W Y のうち一つでも欠けると Z はオブジェクトとして成立しない。
has-a の関係は,あるオブジェクトがほかのオブジェクトを所有している場合に成立する関係で,“A
has-a B”は,“A は B を所有している”ことを示す。B には複数のオブジェクトが指定され,A
はそれらを所有するオブジェクトである。B のオブジェクトが幾つか欠けた場合でも,A
はオブジェクトとして成立するものとする。
例えば,“V has-a W X”かつ“X has-a Y
Z”の関係があるとき,V は W と X を所有し,X は Y と Z を所有する。また,このとき“V
has-a W X Y Z”や“V has-a W Y Z”の関係も成り立つ。
ホテル及びホテルを構成する要素をオブジェクトとし,それらの関係を次のように定義する。
| 従業員 基本設備 part-of ホテル |
| フロント 客室 ロビー part-of 基本設備 |
| ベッド 浴室 トイレ part-of 客室 |
| サウナ バルコニー part-of 特別室 |
| シェフ ウェイタ ウェイトレス フロント係 ポータ マネージャ is-a 従業員 |
| 基本設備 サービス設備 is-a ホテルの設備 |
| レストラン プール エレベータ is-a サービス設備 |
| 宿泊者用エレベータ 運搬用エレベータ is-a エレベータ |
| 一般室 特別室 is-a 客室 |
設問1
“【 】is-a サービス設備”の【 】に当てはまるオブジェクトをすべて列挙したときの組合せとして正しい答えを,解答群の中から選べ。
解答群
ア エレベータ 宿泊者用エレベータ 運搬用エレベータ レストラン プール
イ エレベータ レストラン プール
ウ 従業員 基本設備
エ 従業員 基本設備 ホテル
オ 宿泊者用エレベータ 運搬用エレベータ レストラン プール
設問2 次の記述中の【 】に入れる正しい答えを,解答群の中から選べ。
記述中の定義に加えて,“1号室 2号室 is-a 一般室”及び“3号室 is-a 特別室”という関係が成り立っていたホテルで,ある日1号室のトイレと3号室のサウナが故障した。1号室,2号室及び3号室のうち,客室としての性質を保っている部屋は【 】である。
解答群
| ア 1号室 | イ 1号室及び2号室 |
| ウ 1号室,2号室及び3号室 | エ 1号室及び3号室 |
| オ 2号室 | カ 2号室及び3号室 |
| キ 3号室 |
設問3
あるホテルでは,“ホテル has-a フロント 客室 ロビー レストラン プール エレベータ バルコニー 従業員”という関係が成り立つとする。記述文中の定義に従った場合,このホテルがホテルとして成立するために最小限必要なオブジェクトの組合せとして正しい答えを,解答群の中から選べ。
解答群
ア フロント 客室 レストラン エレベータ
イ フロント 客室 ロビー
ウ フロント 客室 ロビー 従業員
エ フロント 客室 ロビー 従業員 レストラン
オ フロント 客室 ロビー 従業員 レストラン プール
カ フロント 客室 ロビー 従業員 レストラン プール エレベータ