類別是面向物件的基本單位,封裝資料成員(常數、欄位、事件)與函式成員(方法、屬性、索引子、運算子、建構子、解構子)。
| 特性 | 類別 | 結構 |
|---|---|---|
| 型別分類 | 參考類型 | 值類型 |
| 繼承 | 支援單一繼承 | 不可繼承(隱含 sealed) |
| 預設值 | null | 零值結構 |
| 記憶體 | 堆疊 | 堆疊/內嵌 |
class PhoneBook {
private string name;
private string phone;
private struct Address {
public string city;
public string street;
public uint no;
}
public string Phone {
get { return phone; }
set { phone = value; }
}
public PhoneBook(string n) { name = n; }
public void Edit() { }
}
成員包含:欄位 name、phone、巢狀結構 Address、屬性 Phone、建構子 PhoneBook(string)、方法 Edit。
System.Object 別名)。object 變數(觸發裝箱)。int x = 25;
object obj1 = x; // 裝箱
object obj2 = 'A'; // 裝箱 char
System.String 別名),不可變。+ 串接、索引子存取字元、== 比較內容。string s1 = "Welcome";
string s2 = "Welcome" + "everyone";
char c = s1[0]; // 'W'
bool b = (s1 == s2); // false
類別支援單一繼承,衍生類別可擴充基底類別成員,達到程式碼重用與設計重用。