如何在c#中创建对象的实例
本文关键字:创建对象 实例 | 更新日期: 2023-09-27 18:05:44
恭贺新年!
我有一个问题在我的脑海里,寻找答案从一些天。如果我的理解是正确的,那么实例和对象之间的唯一区别是:-
instance表示只创建一个引用(副本)。
object:表示通过使用新的操作符
将内存位置与对象(类的运行时实体)关联。现在我想知道如何创建对象的实例。请用示例代码给出解释
任何帮助将不胜感激。由于
根据你的解释,它不是一个实例,而是一个对象的引用。类的实例称为对象。我想你的问题是:"对象和引用变量的区别是什么?"我将试着用一些例子来解释它:
Foo f;
我刚刚声明了一个引用变量。这不是一个对象,而只是一个指向对象的引用。
f = new Foo();
现在我创建了一个新对象,并将其分配给f
引用变量,因此每次我对f
做一些事情时,我都会引用Foo
对象。就像当我调用f.Name = "MyFoo";
时,我引用foo对象。
Foo otherFoo;
现在声明另一个引用变量
otherFoo = f;
我们现在的情况是,内存中有一个对象,但两个引用变量指向同一个对象。
f.IsFoo = true;
bool isotherFooFoo = otherFoo.IsFoo;
最后一行将返回true,因为我们将IsFoo
属性更改为true
,并且f
和otherFoo
引用相同的对象。
我希望这解释了你的一切。:)
您创建的不是"对象的实例",而是类(或结构)的实例。对象是类的实例。
如果你这样做:
Foo f = new Foo();
创建Foo
类的实例
在"一个对象是一个类的实例"这个短语中,"实例"这个词实际上并没有与"对象"这个词有什么不同的技术含义,它只是在英语中定义"对象"这个词的一种方式。"实例"的含义实际上与"对象"的含义相同。我们可以将其分解如下:
an object is an instance of a class
an object = instance of a class
an object = instance
在C# 9.0
中,有一种通过target类型的new表达式初始化类的新方法。
你可以这样初始化类:
Foo f = new();
注意,f
是对Foo
类的引用。
我们有一个类ABC
Class ABC
{
string name="";
public ABC()
{
this.name = "A1";
}
public ABC(name)
{
this.name = name;
}
}
类的实例可以这样创建:
ABC a1 = new ABC();
或
ABC a1 = new ABC("James");
创建的是类的实例,而不是对象。