0

如果一个对象是一个类的实例,并且实例与我在网上看到的对象相同,那么对象的实例是什么?我真的对实例这个术语感到困惑,我阅读了很多实例和现实世界示例的定义,但我无法理解它让我很困惑。

为了确保我理解了对象的引用一词。引用是 CLR 管理的对象上的指针。指针是指向另一块内存的一块内存。引用类型是通过指针(引用)访问的数据类型?

4

5 回答 5

5

objectSystem.Object类的 C# 同义词。an 的实例objectSystem.Object类的实例。所有类都扩展System.Object,类的任何实例都是object.

于 2013-09-04T15:47:11.583 回答
2

假设你有一堂课Foo。当你想创建一个Foo对象时,你可以像这样实例化它:

Foo myFoo = new Foo();

现在存储在变量myFoo中的对象是类 Foo 的一个实例

碰巧你也可以说Foo是对象的一个​​实例,这意味着System.Object因为 C# 中的所有类都派生自它,但这并不是一个特别有用的说法。

于 2013-09-04T15:47:26.037 回答
0

对象是一个连续的内存块,它存储将这个对象与其他对象区分开来的实际信息,而实例是对一个对象的引用。它是一块内存,指向存储对象的起始地址。两个实例可能引用同一个对象。对象和实例的生命周期不相关。因此,实例可能为空。一旦所有指向一个对象的实例都被移除,这个对象就会被销毁。

于 2013-09-04T15:48:46.843 回答
0

一个类描述了一些东西——类似于一个模板——而一个对象是它的一个实例。

例如,我可能有一个名为“car”的类。它描述了汽车是如何启动的,它有四个门,但你不能启动它的引擎:这只是一个描述。

使用这个类,工厂制造了我的汽车(他们为我创建了我的对象)。有了这辆车,我就可以启动它的引擎并把它开走。

在代码方面,我将定义car为:

  public class Car {

      public int Doors { get { return 4; } }

      public void StartEngine() {
          // start engine
      }

  }

然后工厂为我制作:

  Car MyCar = new Car();

然后我把它赶走:

  MyCar.StartEngine();
  MyCar.DriveAway();
于 2013-09-04T15:49:15.453 回答
0

从语法上讲,我同意“对象的实例听起来是同义反复。“对象”的实例会更好。但是,如果您将“对象”视为 dasblinkenlight 解释的“对象类”,则更有意义。

于 2013-09-04T15:53:56.800 回答