2014-04-13 34 views
-1

我在java中遇到了一些混淆。這是java中的IS-A關係和HAS-A關係

我有一個問題

Bar IS-A Object 
Foo IS-A Bar 
Foo HAS-A Bar 

這裏是

A. class Foo extends Bar{}. 
B. class Bar extends Foo{} 
C. class Bar{} 
D. class Foo extends Bar{Bar bar;} 

答案是C,d。

,但一個也應該是答案,因爲foo是-A酒吧是類Foo就繼承了酒吧{}。這是正確的?請解釋我。非常感謝你

回答

2

在這個問題中,你必須通過提供的提示選擇類的正確簽名。

酒吧是-A對象

所以這絕對是C.

foo是-A酒吧

所以這裏Foo就繼承了酒吧..但也注意到那

Foo HAS-A Bar

所以Foo類必須有一個Bar實例。所以唯一的選擇是D在這裏

1

因爲Foo HAS-A Bar聲明A不是答案。

在這個問題你可以想象一個& &之間的聲明。如果有||那裏比A更真實。