IS-A 关系和 Java 中的 HAS-A 关系



我在java中遇到了一些困惑。那是

我有问题

Bar IS-A Object
Foo IS-A Bar
Foo HAS-A Bar 

这是

A. class Foo extends Bar{}.
B. class Bar extends Foo{}
C. class Bar{}
D. class Foo extends Bar{Bar bar;}

答案是C,D。

但A也应该是答案,因为Foo IS-A-Bar是类Foo扩展了Bar{}。是吗?请给我解释一下。非常感谢

在这个问题中,您必须通过提供的提示来选择类的正确签名。

条形IS-A对象

所以这肯定是C.

Foo IS-A条形

所以这里Foo扩展BAr。。但也注意到

Foo HAS-A条形

所以类Foo必须有一个Bar实例。所以这里唯一的选项是D

A不是一个答案,因为Foo HAS-A Bar语句。

在这个问题中,你可以想象一个&在语句之间。如果那里有一个||,那么A也是真的。

最新更新