2014-02-10 42 views
0

我正在学习C#,我想知道为什么我们创建类的实例。为什么我们要创建类的实例?

Customer myCustomer = new Customer(); 
myCustomer.name = "harry"; 

当我在网上搜索我总是得到“如何让实例”但是这不是我的问题。 我知道如何制作它们。 为什么是我的问题。 是因为我们像数据类型一样使用它们吗?像复杂的数据类型一样。

+0

确切地说,这是因为我们使用它们作为数据类型。 –

回答

1

可以说你正在建立一些联系人应用程序。然后,将会有一个名为Contact的类。您将为每个需要保存的联系人创建一个Contact类的实例。你不能保存所有联系人在单个实例。每个联系人都有不同的属性。像名字,姓氏,电子邮件,电话号码等。

在上面的代码示例中,您正在尝试创建客户实例。如果您有很多客户,那么您肯定会为每位客户创建一个实例,以跟踪所有客户。

0

通常我们使用一个类来表示我们系统中的特定实体。在你的例子中,你有一个类来表示一个客户。然而(希望)你拥有多个客户!为了表示这个,你有两个客户类的例子,一个是哈利和一个是杰瑞。

杰里和哈利是两个不同的客户,但你的系统包含每个相同的信息(他们的名字,客户订单,最近的购买等)。

当需要扩展系统以包含不同的商店时,您可以创建一个名为Shop的新类,其中包含代表您的伦敦,纽约和悉尼商店的实例。

0

一个类的实例获取一块内存分配给它来存储它的内部变量。这意味着一个实例的变量与另一个实例的变量是隔离的。

0

如果这是您的第一个面向对象的编程语言,您正确地做了这件事,了解它的工作原理非常重要。

一类是由它的方法和atributes定义,但你需要初始化它开始使用这些方法和属性而值,例如:

myCustomer.name = " harry" 

在这种情况下,“名”是的属性客户类和你设置哈利的名字只有一个实例化的客户,而不是类,该类不会有任何值,只有定义的属性和方法。

同样的事情会与方法,例如:

myCustomer.setName("harry"); 

(如果属性“名”是私有的)

您实例,并从主类调用方法,其他类制成定义方法和属性,然后使用它们实例化。

另请参阅:CodeProject introduction to OOPWikipedia article Class

+0

该类可以具有值,但方法也是如此,而不被实例化。 – maksymiuk

0

嗯,我想你基本上回答你自己的问题没有?

它是因为class只是一种类型。如果我说,Customer今天进入商店,你会得到一个人的类型的想法,客户。但是如果我说"Harry"是我店里的客户,那么您明白我特别只会谈论一个Customer。我所说的"Harry"对他来说是单数,并且与整个其他Customers几乎没有关系。

Customer myCustomer = new Customer(); 
myCustomer.name = "harry"; 

我的意思是,它几乎完全是人类可读的。这样想想:

// Type // instance 
Color  myColor = new Color(255,0,0); // red 
相关问题