C#之讓你徹底明白物件,類,例項化的區別及聯絡
一、前言
在學習類的時候我們肯定離不開物件,它們之間的關係是非常緊密的,要想知道類那麼就一定要知道物件,從物件入手慢慢向類延申,讓你徹底明白類物件和類的聯絡又明白他們的區別。
二、物件和類
物件和類的區別
1,類是一個抽象的概念,它不存在於現實中的時間/空間裡,類只是為所有的物件定義了抽象的屬性與行為。就好像“Person(人)”這個類,它雖然可以包含很多個體,但它本身不存在於現實世界上。
2,物件是類的一個具體。它是一個實實在在存在的東西。
3,類是一個靜態的概念,類本身不攜帶任何資料。當沒有為類建立任何物件時,類本身不存在於記憶體空間中。
4,物件是一個動態的概念。每一個物件都存在著有別於其它物件的屬於自己的獨特的屬性和行為。物件的屬性可以隨著它自己的行為而發生改變。
物件和類解釋:
1,物件:物件是人們要進行研究的任何事物,它不僅能表示具體的事物,還能表示抽象的規則、計劃或事件。物件具有狀態,一個物件用資料值來描述它的狀態。物件還有操作,用於改變物件的狀態,物件及其操作就是物件的行為。物件實現了資料和操作的結合,使資料和操作封裝於物件的統一體中。
2,類:具有相同特性(資料元素)和行為(功能)的物件的抽象就是類。因此,物件的抽象是類,類的具體化就是物件,也可以說類的例項是物件,類實際上就是一種資料型別。類具有屬性,它是物件的狀態的抽象,用資料結構來描述類的屬性。類具有操作,它是物件的行為的抽象,用操作名和實現該操作的方法來描述。
類也可以說成是具有相同屬性和共同行為的一組物件的集合。類裡面可以定義有欄位,屬性和方法。
物件和類的關係:
類與物件的關係就如模具和鑄件的關係,類的實力化的結果就是物件,而對物件的抽象就是類,類描述了一組有相同特性(屬性)和相同行為的物件。
類的組成
類 = 資料 + 方法
資料和方法是有機的結合,通過物件關聯。
物件O.方法F(引數),方法F可以訪問物件O的資料
注意:類中的方法在執行時訪問的是物件的資料,不是類的資料,因為類本身並不佔用儲存空間
class Animal{ }//這個是類 Animial animal = new Animal();//類的例項化就是物件
類的關鍵詞用class表示,定義類的關鍵字。
Animal就是類的名稱
原則:
1,類名稱首字母記著要大寫,多個單詞則各個首字母大寫。
2,對外公開的方法需要用“public”修飾符。
在這裡已經有了類了。那麼有類了我們該如何應用它呢。只需將類例項化一下就可以了。說的例項化了,就又又問題了,什麼是例項化?請看概念:
三、例項化
例項就是一個真實的物件,比如說我們都是“人”,而你和其實就是“人”類的例項了。而例項化就是建立物件的過程,使用new關鍵字來建立。
如以下例項,加入你要造一輛汽車,你設計了一個車的模型,把這個模型交過製作人員去加工,完成,產生出(一批)汽車模型就相當於程式中的類,成產出來的汽車就是物件,產生的這一過程就叫類的例項化。
namespace 名稱空間名稱
{
public class Car(類名a)//宣告類
{
//建立一個物件
(Car)類名a (car)物件名a = new (Car)類名a();//類的例項化
}
public class 類名b
{
}
}