類別隱藏實作細節,呼叫端只需知道怎麼用。如 Person man = new Person("lixiao","woman",11,88); man.Eat(12);,Eat 內部如何運作對呼叫端不可見。
C# 多型表現為多載 (同名不同參數) 與覆寫 (衍生類重新定義虛擬/抽象方法)。
public void hi() { Console.WriteLine("hi, C Sharp"); }
public void hi(string name) { Console.WriteLine("hi, {0}", name); }
條件:相同名稱、參數列表、回傳型別;僅 virtual/abstract 方法可被覆寫。
多型結果:衍生自同一基類的類別 (Student、Work) 可用相同語法呼叫基類方法 (Eat)。
Item 屬性依索引取值。異於陣列可動態增刪。Windows 程式設計核心。範例:兩顆 Button 分別遞增/遞減計數器並顯示於 TextBox。
int count = 0;
private void button1_Click(object sender, EventArgs e) { count++; textBox1.Text = count.ToString(); }
private void button2_Click(object sender, EventArgs e) { count--; textBox1.Text = count.ToString(); }
int)。string);可為 null,實值型別永遠有值。string name = null; // 參考型別可為 null
int id = 0; // 實值型別預設 0