java是一个关系考试问题

java是一个关系考试问题,java,inheritance,polymorphism,scjp,Java,Inheritance,Polymorphism,Scjp,从大师考试: 哪些陈述是正确的?(全选) (适用) A。这是一段永远依赖的关系 继承 B。这是一段永远依赖的关系 实例变量 C。一段关系总是需要 至少两种类别类型 D。这是一段永远依赖的关系 多态性 E。是一种关系总是很重要的 紧密耦合 正确答案:A、C、D 我看不出A、C或D中的任何一个是正确的 一个物体就是一个物体。字符串对象是字符串。每个语句中只有一个类类型,不应用继承或多态性 我的理由是错误的还是答案是错误的?“关系”是指两个类之间的关系。is-a关系是一种使用继承的关系类型(与使用组合

从大师考试:

哪些陈述是正确的?(全选) (适用)

A
。这是一段永远依赖的关系 继承
B
。这是一段永远依赖的关系 实例变量
C
。一段关系总是需要 至少两种类别类型
D
。这是一段永远依赖的关系 多态性
E
。是一种关系总是很重要的 紧密耦合

正确答案:A、C、D

我看不出A、C或D中的任何一个是正确的

一个物体就是一个物体。字符串对象是字符串。每个语句中只有一个类类型,不应用继承或多态性

我的理由是错误的还是答案是错误的?

“关系”是指两个类之间的关系。is-a关系是一种使用继承的关系类型(与使用组合的has-a相反)。例如,字符串是一个对象。类不能从自身继承,这意味着C。作为旁注,类本身可以有组合(has-A)。例如,一个人可以有另一个人作为母亲


任何时候只要有继承,子类的实例都可以用作超类的实例。这就是多态性,这意味着D也是正确的。

您的理由有点不正确,因为这种关系适用于类,而不是对象

字符串是一个对象,因为
string
继承自
object
。类似地,
FileOutputStream
IS-a
OutputStream
IS-a
Object


IS-A是类之间的关系,而不是类和对象之间的关系。

您需要看到它有点不同:

  • 猫是一种动物
  • 汽车有一个发动机
  • 字符串是一个对象
  • 字符串有一个字符数组

试着这样看,现在应该更清楚了。

对不起,你的理性是错误的。他们在谈论两个不同的班级。例如,字符串是一个对象

A.字符串就是字符串就是。。。一种重言式,被认为是显而易见的。但是查看API文档,您会发现
java.lang.String
也是
java.lang.Object
。事实上,所有Java类都继承自Java.lang.Object。它们继承对象的基本属性,并添加自己的一些其他属性。这就是所谓的“是非”关系

C.同样,禅宗佛教徒感兴趣的是关于任何物体本身的重言式,而不是语言设计师和其他计算机科学家。因此,要建立“is-a”关系,需要两个不同的类


D.我不太确定。如果有人问我,我会说多态性取决于“is-a”关系,而不是相反。

我认为a&C点现在已经很清楚了。。。关于D,从技术上讲,扩展一个没有实例行为或属性的类是可能的(空白或可能只有静态元素)……但这在原则上有点违背了“扩展”类的目的,因为您希望从继承树的更高层继承行为/功能。
因此,我想说选项D是正确的(几乎是正确的):(如果我们不太专业的话)。顺便说一句,这可能是一个有趣的讨论。

出现这种情况的上下文是否指定了类之间的关系?我输入的是整个问题,开始到结束。@ck-谢谢你的帮助。我不喜欢答案C-只是因为is-a也可以用接口建模-看起来,这个类的自定义定义包括Java类和接口。老实说,我不相信。1.猫是动物。2.猫是一只猫。选项A表示“是一种始终依赖继承的关系”。继承适用于1,但不适用于2。对于合成,这是可能的:一个父亲有一个父亲。但是对于继承(IS-A),我们只考虑不同的类型。具有相同类型的is-a总是正确的,并且在理论上,可能每个类型都继承自己。“在理论上,每个类型都继承自己”——在我看来是不正确的。“相同类型的is-a总是正确的”-这正是我要说的!你能详细说明一下吗?我看不出类和对象之间的区别有什么关联。FileOutputStream是—OutputStream是—对象—继承。另外,FileOutputStream是—FileOutputStream—无继承。答案A表示:“is-A关系始终依赖于继承”。@dairemac:例如,在ER图中的实体之间建模了
is-A
关系–当移动到例如UML时,这些关系始终成为继承。你不会在图中画圆圈,并声明每件事都是它自己的子类。关于Liskov的替换原则,在编程时以这种方式处理它可能是有意义的,但没有类从自身继承。因此,“Foo IS-A Foo”纯属无稽之谈。另外,类和对象之间的区别应该在OOP类的一开始就已经非常清楚了。您将IS-A等同于继承,而我将IS-A等同于使用instanceof关键字返回true的任何内容。也许你是对的。当然,我很清楚类和对象之间的区别——我只是在质疑这种区别与这个问题的相关性。至少根据我所了解的,IS-A是实体或类之间的关系。它只用于建模,从不用于实际对象。禅宗佛教徒更感兴趣的是对象本身,而不是对象本身:-)我必须在字典中查找“重言式”!一个定义是“总是正确的陈述”。考试问题询问哪些答案是正确的,并且提供的答案都包含“始终”一词。作为一名计算机科学家,我使用逻辑,逻辑表明,如果某个东西是