来自 MasterExam:
Which statements are true? (Choose all that apply)
A
. is-a relationship always rely on inheritance
B
. is-a relationship always rely on instance variables
C
. is-a relationship always require at least two class types
D
. is-a relationship always rely on polymorphism
E
. is-a relationship are always tightly coupled
正确答案:A、C、D
我不明白 A、C 或 D 中的任何一个是正确的。
一个Object对象就是一个Object。一个字符串对象是一个字符串。这些语句中的每一个都只有一个类类型,并且不适用继承或多态性。
我的理由是错误的还是答案不正确?
最佳答案
“关系”是指两个类之间的关系。 is-a 关系是一种使用继承的关系(与使用组合的 has-a 相反)。例如,一个字符串是一个对象。一个类不能从自身继承,这意味着 C。作为旁注,一个类可以与自身具有组合(has-a)。例如。一个 Person 可以有另一个 Person 作为母域。
只要有继承,子类的实例就可以用作父类(super class)的实例。那就是多态,也就是说D也是对的。
关于java IS-A关系考试题混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3237716/