2011-08-17 42 views
4

今天的問候!如何在c中創建對象的實例#

我有一個問題在我的腦海中尋找答案從某些日子。 如果我的理解是正確的,那麼只有實例和對象之間的差異是: -

實例意味着只是創建一個引用(副本)。

對象:當存儲位置與對象相關聯(是類的運行時實體)通過使用new運算符

現在我想知道如何創建一個對象的實例手段。 請給出解釋與示例代碼

任何幫助將不勝感激。 謝謝

+1

我錯過了什麼,當然你只是指var obj = new Object()? – Lloyd

+0

是的,你是對的lloyd –

回答

5

通過你的解釋它不是所謂的實例,而是一個對象的參考。一個類的實例稱爲對象。我認爲你的問題是:「對象和參考變量有什麼區別?」我會嘗試用一些例子來解釋它:

Foo f; 

我剛剛聲明瞭一個引用變量。這不是一個對象,而只是一個引用對象的引用。

f = new Foo(); 

現在我創建了一個新的對象,它每次我做一些事情的時間分配給f參考變量所以f我指的是Foo對象。就像當我打電話給f.Name = "MyFoo";時,我指的是foo對象。

Foo otherFoo; 

現在我聲明另一個引用變量。

otherFoo = f; 

現在我們在這裏有什麼是有在內存ONE對象,但兩個引用變量指的同一個對象。

f.IsFoo = true; 
bool isotherFooFoo = otherFoo.IsFoo; 

,因爲我們改變了IsFoo屬性truefotherFoo reffer到相同對象最後一行將返回true。

我希望能解釋一切。 :)

+1

我只有一個詞「WONDERFUL」的解釋。感謝您分享信息Bosak :) –

+0

不謝謝你的問題,並讓我解釋清楚,所以我可以更好地理解它,並且練習我關於這方面的知識:) – Bosak

+0

@Bosak,這張照片從哪裏來?你有權在這裏發佈嗎?你至少應該提到來源...... –

4

您不創建「對象的實例」,您創建類(或結構)的實例。對象類的一個實例。

如果你這樣做:

Foo f = new Foo(); 

您創建Foo類的一個實例。

+0

謝謝你恢復thomas.I在許多文章和書籍中讀到「一個對象是一個類的實例」。那麼什麼是對象和實例之間的確切差異。據我所知,實例只是創建一個reference.Let的談論你的上面的代碼行。你在上面的代碼中創建了一個實例或對象?對不起,我缺乏知識: - | –

+0

沒有區別,它是一樣的......這只是一個術語問題:當你引用一個特定類的實例時,通常你會說「實例」; 「對象」一詞更通用。 –

+0

感謝您的解釋兄弟 –

-1

您創建類的實例而不是對象。

+0

措辭是一樣的問題,所以我猜OP已經看到了這個頁面...無論如何,這個解釋是錯誤 –

0

我們有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"); 
0

在短語「一個對象是一個類的實例」,「實例」一詞實際上並不具有與「對象」這個詞不同的技術含義,它只是一種定義,在英語中,「對象」這個詞的意思是什麼。 「實例」的含義的確與「對象」的含義相同。我們可以將其分解如下:

an object is an instance of a class 
an object = instance of a class 
an object = instance 
相關問題