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 = ...
[C# 筆記][多型] Abstract 抽象類
多型的虛方法 概念:讓一個物件能夠表現出多種的狀態(類型) 實現多型的三種手段: 虛方法 virtual (virtual, override) 抽象類 abstract (abstract, override) 接口 抽象類 當父類中的方法不知道如何去實現的時候,可以考慮將父類寫成抽象類,將方法寫成抽象方法。 既然不能實現,就不要實現,就用抽象類,讓子類去實現。 ...
[C# 筆記] 多型(Polymorphism)-虛方法 Virtual
多態的虛方法 概念:讓一個物件能夠表現出多種的狀態(類型) 實現多態的三種手段: 虛方法 抽象類 接口 虛方法步驟 使用多態-虛方法,父類方法加virtual,子類方法加override。 將父類的方法標記為虛方法,使用關鍵字virtual,這個函式可以被子類重新寫一遍(重寫)。 子類的方法使用關鍵字override。 virtual、override 實...