是抽象的概念。
例如Dog類描述了狗有的一些特性,體重、身高、年齡、以及吼叫等等。
public class Dog { string dogBreed;//犬種 int weight; //體重 int height; //升高 int age; //年齡 public void bellow() { Console.WriteLine("WangWang"); } }
這Dog類是抽象的,描述了一些特性,不是具體的一條狗。
讓後下面定義一個鄰居的狗"大哈",它屬於Dog類。
Dog 大哈 = new Dog();
執行個體化建立"大哈"的對象,現在"大哈"是具體的存在。讓後可以對"大哈"對象進行具體的描述。如"大哈"的犬種是哈士奇,體重35公斤等等。
大哈.dogBreed = "哈士奇";
大哈.weight = 35;
……
讓後"大哈"吼叫
大哈.bellow(); 這是一個狗的吼叫方法
注意:對Dog類不能直接賦值特性。就比如int = 8; 一樣,沒有意義。沒指特定的狗的情況下,你不能說狗體重、身高、犬種多少一樣。
類的最大的好處在於它能將一個實體的屬性和行為封裝在一個獨立的代碼單位中。按上面的例子Dog類中封裝了犬種、身高、體重、年齡屬性,以及吼叫方法。
訪問類型有Public公用、Private私人、Protected受保護(繼承可訪問)、internal內部、Protected internal內部受保護(繼承可訪問)。對類、欄位、方法、屬性、建構函式都可用。
類可包含:欄位、屬性、建構函式、方法。
類成員方法:
文法:
訪問類型 傳回型別 方法名稱(接受參數,)
{方法體}
訪問類型預設public
如:
Public void Method(int i , string s,…….) {方法體}
多重方法:方法名稱一樣,參數不一樣
public string d(int i , int j) { } public void d(string i) { } public void d(int i) { } public int d(char d) { return 0; }
類建構函式:
new建立對象時初始化成員變數。建構函式的函數名和類名相同。可以有多重建構函式,如同多重方法。
例:
class Dog { Public Dog(string dogBreed,int Weight) { weight = Weight; this.dogBreed = dogBreed; } Public Dog(string dogBreed) { this.dogBreed = dogBreed; } string dogBreed;//犬種 int weight; //體重
}
上例子中含有兩個接受參數不同的多重建構函式。
this代表當前執行個體(引用當前對象),Dog執行個體的dogBreed欄位。
類成員變數(欄位):
上例子中的dogBreed、weight是該類成員變數。可以在定義的時候初始化,而不用將每個變數都在建構函式中執行初始化。
類成員屬性:
C#提供了get;set;訪問器。用屬性封裝類的資料。
例:
private int height; public int Height { get { return weight; } 讀取 set { weight = value; } 賦給 }
上例子中其他類無法直接讀取height,只能通過訪問器進行訪問操作。
get set前可以設定訪問類型。
對象銷毀:
解構函式,C#中的解構函式聲明:
~textClass() { 析構處理 }
還可以寫成:
textClass.Finalize() { 析構處理 Base.Finalize(); }
以上就是C#拾遺之小知識(三):類的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!