选择题,求解释,这会犯晕。。。。
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个对象 含有另外一个的多个实例的引用吧
------解决方案--------------------个人浅见:
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"的关系。