如果一个对象是一个类的实例,并且实例与对象相同,就像我在网上看到的那样,对象的实例是什么?我真的很困惑这个术语实例我读了很多实例和现实世界的例子,我无法理解它让我很困惑。
确保我理解对象的术语引用.Reference是CLR管理的对象上的指针。 指针是指向另一块内存的大块内存。引用类型是通过指针(引用)访问的数据类型?
答案 0 :(得分:5)
object
是System.Object
类的C#同义词。 object
的实例是System.Object
类的实例。所有类都扩展System.Object
,类的任何实例都是object
的实例。
答案 1 :(得分:2)
假设你有一个班级Foo
。如果要创建Foo
对象,则实例化就像这样:
Foo myFoo = new Foo();
现在,存储在变量myFoo
中的对象是Foo类的实例。
碰巧你也可以说Foo
是对象的实例,意思是System.Object
,因为C#中的所有类都是从它派生的,但它不是特别的有用的话。
答案 2 :(得分:0)
Object是一个连续的内存块,用于存储区分此对象与其他对象的实际信息,而实例是对对象的引用。它是一块内存,指向对象存储位置的起始地址。两个实例可以引用同一个对象。对象和实例的生命跨度无关。因此,实例可以为null。一旦指向对象的所有实例都被删除,该对象将被销毁。
答案 3 :(得分: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();
答案 4 :(得分:0)
在语法上,我同意' 对象的实例'听起来是同义反复的。 '对象'的实例会更好。但是,如果您将'object'视为dasblinkenlight所解释的“对象类”,则更有意义。