【问题标题】:System.Object in C#, .NETC#、.NET 中的 System.Object
【发布时间】:2011-09-30 14:47:46
【问题描述】:

我不太明白第二个问题,我对第二个问题的回答正确吗

  1. 以下哪个不是 System.Object 的方法?
  2. 作为方法的 System.Object 的最通用(最少派生)接口或子类是什么
    一种。 GetType()
    湾。 ToString()
    C。等于(对象 obj)
    d。克隆()

我的答案

Clone() 不是 System.Object 的方法。

用于克隆的 ICloneable。 System.Object 是根类型,其余方法是它的直接成员。

第二个问题的答案是什么?这是什么意思?

非常感谢任何建议。

【问题讨论】:

  • 我觉得不错...有什么问题?
  • 第二个问题的措辞令人困惑。它询问您Clone 方法属于哪个类或接口。
  • 你到底为什么要把这个问题做成图片?
  • @Johan, here's a good guess...

标签: c# .net oop inheritance


【解决方案1】:

您对第一个问题的回答当然是正确的。 Proof

第二个问题的意思是,如果你有接口IExtendedCloneable,它会派生自ICloneable(有ICloneable 作为父接口),它不会是一个正确的答案,因为 ICloneable 更通用(更少派生) - 在继承树上更接近object

如果没有这个限制,你可以说Clone()System.Windows.Forms.Control.ControlCollection 的成员,你是对的,但答案不会真正相关。

由于该限制,ICloneable 是答案。

【讨论】:

  • 我认为,因为问题询问 System.Object 的子类或接口,所以 IExtendedCloneable 是自定义类型,问题不打算问。我认为 ICloneable 就是答案。
  • 即使 IExtendedCloneable 派生自 ICloneable,ICloneable 仍然是答案。如果我错了,请指出。
  • @PingPong 我编造了 IExtendedCloneable 来说明具有 Clone() 的“最通用(最少派生)接口或子类”。我想不出任何从 ICloneable 派生的接口。当然 ICloneable 是答案,因为它不如 ICloneable 通用。
  • 感谢您的建议,非常感谢。
猜你喜欢
  • 2012-10-31
  • 2021-04-18
  • 1970-01-01
  • 2010-10-03
  • 1970-01-01
  • 1970-01-01
  • 2010-11-04
  • 2020-12-03
  • 1970-01-01
相关资源
最近更新 更多