【问题标题】:Can a class have a "IS A Relationship" with itself?一个班级可以与自己有“是一种关系”吗?
【发布时间】:2014-09-20 04:36:41
【问题描述】:
class A
{
}
class B extend A
{
    int i;
    int j;
}

一个类可以和它自己有 IS-A 关系吗? 在这个问题中,B 是 A,对吗? 但是B 类可以与B 类有IS-A 关系吗?

【问题讨论】:

  • 您是否在问,例如,狗是否狗?
  • 是的,我的 ocjp 考试中也提出了同样的问题..
  • 你确定这是它要求的吗? 是一种关系不是一个技术术语。我认为 OCJP 处理技术 Java 语言概念。
  • 重言式是真的吗?这个问题没有任何结果。没有真相有待发现。我想你可能误解了他们在问什么。会带你去某个地方的一个问题是:A 扩展了 B,B 是 A,A 有可能是 B 吗?

标签: java scjp


【解决方案1】:

这是一个身份(和重言式) - B 类型的对象将始终能够将自己描述为 B 类型的对象。

is-a 关系的进一步扩展涉及继承的层次结构;也就是说,由于B extends AB is-an A。这允许您编写以下表达式:

A anA = new B();

但是B 也是B。它并没有失去它的那部分身份,因为它现在继承自另一个类。

【讨论】:

  • 简而言之:每个类都与自身存在“is-a”关系。
猜你喜欢
  • 2013-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多