日期:2014-05-20  浏览次数:20618 次

选择题,求解释,这会犯晕。。。。
3、Which two demonstrate a "has a" relationship(Choose two)?
 
A. public interface Person { } 
public class Employee extends Person{ } 

B. public interface Shape { } 
public interface Rectandle extends Shape { } 

C. public interface Colorable { } 
public class Shape implements Colorable 
{ } 

D. public class Species{ } 
public class Animal{private Species species;} 

E. interface Component{ } 
class Container implements Component{ 
private Component[] children; 
}

------解决方案--------------------

我也不知道你题目从哪里来的,你不知道答案么?

has a 应该指 1个对象 含有另外一个对象或接口的1个实例引用

硬要说has many,应该是 1个对象 含有另外一个的多个实例的引用吧

探讨
has a 跟 has many 什么意思 没搞懂题目意思 请问

------解决方案--------------------
个人浅见:

java 里 “has a"表示组合关系,"is a"表示继承关系。
这个题我看是考这个。
抛开细节(A 有错误)前三个都有继承关系,就是属于“is a”,第 4个Animal 和Species没有继承关系,类Animal 里用到了Species,这是典型的"has a"关系。 第5个,稍微特殊点,Container 和 Compenent 是有继承关系,但下面的private Component[] children; children 可以是 Container 对象,但也可以是其他实现了Componemt接口的类的对象,所以说也是"has a"的关系。