繁体   English   中英

对象的C#实例

[英]C# instance of object

如果对象是类的实例,并且实例与对象相同,正如我在网上看到的,那么对象的实例是什么? 我对术语“实例”真的感到困惑,我阅读了很多实例和现实世界实例的定义,但我不明白它使我感到困惑。

并且可以肯定的是,我理解了术语“对象的引用”。.Reference是CLR管理的对象的指针。 指针是指向另一个内存块的内存块。 引用类型是通过指针(引用)访问的数据类型吗?

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

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

Foo myFoo = new Foo();

现在,存储在变量myFoo的对象是Foo类的实例

碰巧的是,您还可以说Foo是对象的实例 ,即System.Object因为C#中的所有类都从该对象派生,但这并不是特别有用。

对象是连续的内存块,用于存储将该对象与其他对象区分开的实际信息,而实例是对对象的引用。 它是一块内存,指向对象存储位置的起始地址。 两个实例可以引用同一个对象。 对象和实例的寿命无关。 因此,实例可以为空。 一旦删除了所有指向一个对象的实例,该对象将被销毁。

类描述了某种东西(类似于模板),而对象是它的实例。

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

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

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

  public class Car {

      public int Doors { get { return 4; } }

      public void StartEngine() {
          // start engine
      }

  }

然后工厂为我做:

  Car MyCar = new Car();

然后我将其赶走:

  MyCar.StartEngine();
  MyCar.DriveAway();

在语法上,我同意“ 一个对象的实例”听起来是重言式的。 “对象”的实例会更好。 但是,如果您将dasblinkenlight所解释的“对象”理解为“对象类”,则更有意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM