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-aOutputStream
IS-aObject
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是实体或类之间的关系。它只用于建模,从不用于实际对象。禅宗佛教徒更感兴趣的是对象本身,而不是对象本身:-)我必须在字典中查找“重言式”!一个定义是“总是正确的陈述”。考试问题询问哪些答案是正确的,并且提供的答案都包含“始终”一词。作为一名计算机科学家,我使用逻辑,逻辑表明,如果某个东西是