当前位置: 技术问答>java相关
请教一道SCJP的考题,谢谢。
来源: 互联网 发布时间:2015-08-14
本文导语: 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 i...
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; }
answer key is D,E为什么??
请问具体怎么区分 "has a" 和"is a"
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; }
answer key is D,E为什么??
请问具体怎么区分 "has a" 和"is a"
|
is a 是继承关系
has a 是组合关系
extends,implements都是is a关系
如果你在一个类中有指向其他类实例的引用,则这两个类是组合关系,实际中组合关系用得比继承关系频繁
has a 是组合关系
extends,implements都是is a关系
如果你在一个类中有指向其他类实例的引用,则这两个类是组合关系,实际中组合关系用得比继承关系频繁
|
for example:
有两个类:一个是木头类(接口),一个是桌子类
我想定义另一个类class A extends 桌子 implements 木头{
}
类A首先肯定is a 桌子 has a 木头的属性或方法
举例不一定正确,抛砖引玉!
有两个类:一个是木头类(接口),一个是桌子类
我想定义另一个类class A extends 桌子 implements 木头{
}
类A首先肯定is a 桌子 has a 木头的属性或方法
举例不一定正确,抛砖引玉!
|
is a 是继承的关系,has a 是包含关系.
|
"has a"是指前面的一个对象包含又后面的哪个对象所有的属性,即是它的超类一样(尽管又可能会是接口等其他对象)。按照这个规则,不难发现答案就只有D,E.
|
is a 是继承。比如class Mammal extends Animal, 我们可以说Mammal是Animal(mammal is animal)
has a 是composition(中文不知怎么说)。简单来说就是一个类包含另一个类的实例。比如有以下几个类:
class CPU{}
class Memory{}
class Harddisk{}
class Computer{
CPU cpu;
Memory memory;
Harddisk hd;
}
这种关系是has a
has a 是composition(中文不知怎么说)。简单来说就是一个类包含另一个类的实例。比如有以下几个类:
class CPU{}
class Memory{}
class Harddisk{}
class Computer{
CPU cpu;
Memory memory;
Harddisk hd;
}
这种关系是has a
|
has a 是组合的意思,就是在一个类里面声明其他类类型的变量
is a 是继承的关系
good luck
is a 是继承的关系
good luck