当前位置:  技术问答>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"

|
is a 是继承关系
has a 是组合关系

extends,implements都是is a关系
如果你在一个类中有指向其他类实例的引用,则这两个类是组合关系,实际中组合关系用得比继承关系频繁

|
for example:
有两个类:一个是木头类(接口),一个是桌子类
我想定义另一个类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  是组合的意思,就是在一个类里面声明其他类类型的变量

is  a  是继承的关系

good  luck

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题
  • 请教linux 下的adsl拨号问题.
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教一个opengl的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3