Home
R
Cancel

[C# 筆記] Override 重寫父類的ToString()

重寫父類的ToString() 物件、陣列、集合直接ToString(),輸出的是命名空間 為什麼誰都可以ToString()? 因為ToString()是Object Object 是父類 父類的方法通過繼承,子類都可以使用 既然可以直接調用這方法,又可以重寫這方法,代表他是虛方法virtual 為什麼不是抽象方法(abstract)?因為抽象方法一定要重寫方法,不能直接調用 範...

[C# 筆記] Sealed 密封類別

密封類 怎麼標記? 加上sealed 密封類不能夠被繼承,但能夠繼承其他的類別。 sealed 不能被繼承 他有一個最大的特點,就是不能被繼承 public sealed class Test { … } //密封類 public class Student: Test {…} //報錯,密封類不能被繼承 sealed 可以繼承別人 但他可以繼承別人 public sealed cl...

[C# 筆記] Partial 部分類別

Partial 部分類 在同一個命名空間下,可以寫兩個相同的類名嗎? 不行,但是還是得需要,怎麼辦? 在類別前面加上 partial public partial class Person { } public partial class Person { } 這樣代表什麼? 這兩個類都是Person的一部份 這兩個部分類,就共同組成Person類別 好處是什麼? 兩邊寫的成員,都...

[C# 筆記][Serializable] 序列化 & 反序列化 1

BinaryFormatter、Formatter 和IFormatter 上的序列化和還原序列化方法已過時。vs2022 序列化 & 反序列化 序列化:就是將對象轉換為二進制 反序列化,就是將二進制轉換為對象 目的:傳輸數據 我們在網路傳輸數據的時候,只有二進制這個型態是可以被傳輸的。 步驟:將這個類標記為序列化 Q:怎樣才可能將一個類別標記為這個類可以被序列...

[C# 筆記] 值傳遞 & 引用傳遞

實值類型 & 參考類型 實值類型(Stack 堆疊/棧) int, double, char, decimal, bool enum, struct 參考類型(Heap 堆積/堆) string、陣列、自定義類、集合、object、介面 他們在記憶體上儲存的特點是: 實值類型的值是儲存在Stack堆疊/棧上 參考類型的值是儲存在...

[C# 筆記][多型] Abstract 簡單工廠設計模式

簡單工廠設計模式 設計模式 設計這個專案的一種方式。 簡單工廠設計模式 我不知道你要什麼, 給你一個父類 你愛給誰就給誰 我父類裡面可以裝子類的對象 所以我可以返回對應的子類對象給你 範例:用抽象類來實現多態 根據用戶的輸入返回一個父類 但是這個父類裝的是子類的對象 調的雖然是父類 但我們實現了多態,實際執行的是子類的方法 我們用最大化屏蔽了各個子類對象之間的最大差異 Consol...

[C# 筆記] C#中的訪問修飾符(存取修飾詞)

C# 中的訪問修飾符 public 公開公共的 private 私有的,只能在當前的類別內部訪問 protected 受保護的,子類也可以訪問。只能在當前類別的內部、子類中訪問。 internal 只能在當前這個專案內部中訪問,在同一個專案中,internal, public的權限是一樣的。 protected internal:protected+interna...

[C# 筆記] 泛型集合、文件流、多型、裝拆箱 -review5

泛型集合 List List<int> list = new List<int>(); Dictionary<Tkey, Tvalue> Dictionary<int, string> dic = new Dictionary<int, string>() 兩者都不會發生裝箱和拆箱的問題,因為他們裡面裝的元素都是同類型的 ...

[C# 筆記][多型] Abstract 抽象類:模擬行動硬碟、隨身碟、MP3

模擬行動硬碟、隨身碟、MP3 用多型來實現 將 行動硬碟、隨身碟、MP3 插到電腦上進行讀寫資料 父類:可移動儲存設備::Read(), Write() 子類: 行動硬碟:Read(), Write() 隨身碟:Read(), Write() MP3:Read(), Write(), PlayMusic() ...

[C# 筆記][多型] Abstract 抽象類-練習

什麼時候用虛方法、抽象類? 父類的函式有實現、有意義的時候,就用虛方法(virtual) 父類的函式不知道怎麼去實現,就用抽象類(abstract) 練習:使用多態求矩形的面積和周長以及圓形的面積和周長 //抽象類不能創建物件,只能聲明父類指向子類 Shape circle = new Cicle(5); //聲明父類Shape指向子類Cicle double area = ...