• ベストアンサー

has-aの関係

以下のコードを実行した際、A, Bの関係を表す正しい表記を2つ選択して下さい。 class A {} class B { private A myA = new A(); } (1)A と B との関係がない場合もある (2)B は A との関係がない場合もある (3)B は A と "1対多" の関係をもっている (4)A と B は "has-a" の関係をもっている (5)A と B は "is-a" の関係をもっている またまた、SUNのサイトの問題です。 答えは(1)と(4)です・・・・ 僕は(4)だとおもっていました・・・ AとBは関係ない場合もある?!?!?! テキストに類似問題があり答えは4だったので自信があったんですが・・・・ privateだから?!?!?!? いったいどういうことなのでしょう???

質問者が選んだベストアンサー

  • ベストアンサー
  • kacchann
  • ベストアンサー率58% (347/594)
回答No.3

「Aは、Bとの関係がない場合もある」 の誤植だと思うよん。 第二選択肢との対比から言っても。 または第二選択肢との整合性の点から言っても。 (※第二選択肢が「誤答」だとすると、第一選択肢が「正答」というのは矛盾している)

azicyan
質問者

お礼

回答ありがとうございます。 >「Aは、Bとの関係がない場合もある」 はっ! 確かに、「AとBとの・・・」 って変な感じですね・・・(^_^;)

azicyan
質問者

補足

Aからみて Bは関係ない(影響しない) と言う意味なんでしょうかね・・・??

その他の回答 (2)

  • ranx
  • ベストアンサー率24% (357/1463)
回答No.2

次のようなコードなら、Bのインスタンスは事実上Aを持たないことになりますが...。 class B {  private A myA = new A();  B() {   myA = null;  } } ・・・ひねくれてるなあ。

azicyan
質問者

お礼

いつもお世話になっています_(._.)_ 確かに・・・ 引っ掛け問題を作ろうとして作った感じですね・・・

回答No.1

日本語の問題のようでちと真意がわかりかねますが・・・ has-aの関係上、myAというインスタンスで、Aクラスのメンバー変数は依存関係にある(B.myA.xxx)が、Aクラスのスタティック変数においてはその限りではない(A.xxx)ということから、A と B との関係がない場合もあるというのではないでしょうか?

azicyan
質問者

お礼

ありがとうございます。 そうですよね・・・ 読めば読むほど・・・ Aカラ見てBが・・・と言うことなんでしょうか? どちらにしても問題として無理があるような気がします・・・ (無理に引っ掛けようとしているような気がします)