2014-02-10 81 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 
相關問題