外部設備(抽象方法) 需求 模擬行動碟碟、USB隨身碟、MP3等行動儲存設備插到電腦上進行讀寫數據 設計思路(OO) 行動碟碟、USB隨身碟、MP3插到電腦上,他會自動讀寫嗎?不會。 最終你這個讀寫數據的函數,得由誰去調用?電腦來調用。 也就是說,在行動碟碟、USB隨身碟、MP3裡面,每一個類都有一方法。一個是讀、一個是寫。 為了咱們的程式可擴展性,我們應該讓這些子類,統...
[C# 筆記][FileStream] 文件流-複習
什麼是 FileStream 文件流 文件流 FileStream 和 File類 讀取文件的時候,有什麼區別呢? 例如:兩個大水缸,如果我們把一個缸中的水倒入另一個水缸中,有兩種方式: 直接把一個缸中的水舉起來倒入另一個缸中。 => File類 用個桶來把一個缸中的水舀到另一個缸中。 => FileStream File類 相當於第一種方式,FileStream...
[C# 筆記] 關鍵字
常用關鍵字 this:1.當前類的物件 2.調用自己的構造函數 base:調用父類的構造函數 new:1.創建對象 2.隱藏父類同名的成員 virtual:標記一個方法是虛方法 abstract:抽象的 override:重寫 interface:介面,介面之間可以多繼承 partial:部分類,用在需要寫兩個相同的類別 sealed:密封類,不允許被繼...
[C# 筆記] Protected 存取修飾符
public: 任何人都可以存取使用 private: 只有自身類別才能存取使用 protected: 只有自身類別與子類別才能存取使用 (只要是繼承關係,不管兩者是否在同一程序集中,子類都有訪問父類的權限) class Program { static void Main(string[] args) { //protected成員除了當前...
[C# 筆記] 訪問修飾符(存取修飾詞)-複習
存取修飾詞 public 公開的、公共的 private 私有的,只能在當前類的內部訪問,類中成員們,如果不加訪問修飾符,默認就是 private procteced 受保護的,可以在當前類的內部訪問,也可以在該類的子類中訪問 internal 在當前專案中都可以訪問。跟 public 一樣,在當前專案中都可以訪問。不同的是,出了這個專案,被修飾public的成員可以訪問,...
[C# 筆記][Serializable] 序列化 & 反序列化 2
.NET 5 個重大變更,其中BinaryFormatter、Formatter 和IFormatter 上的序列化和還原序列化方法已過時。 為什麼要序列化?因為要傳輸數據。 序列化 1. 要將序列化對象(物件)的類,標記為可以被序列化的 [Serializable] public class Person { } 2. 把這個對象(物件)序列化成二進制,用一個流來搞定這件事情 ...
[C# 筆記](int)、Convert.ToInt32、int.Parse、int.TryParse
Convert.ToInt32、(int) 和 int.Parse 三者的區别: Convert.ToInt32適合將 object 類型轉換成 int,例如 Convert.ToInt32(session["rii"]) (int)適合簡單數據類型之間的轉換,有小數時會直接捨去 int.Parse適合將 string 類型轉換成 int類型,例如 int.Parse("99...
[C# 筆記][File] 工資翻倍-練習
案例 對職員工資文件處理,所有人的工資加倍然後輸出到新文件。 文件案例: Ken|3000 Vic|50000 技術要點: 使用 ReadAllLines,因為要一行一行的讀取數據。 使用 WriteAllLines,因為要一行一行的寫入。 使用 .Split分割,並通過第二個參數 RemoveEmptyEntries 去掉空白,以取得數字做工資翻倍。 使...
[C# 筆記][多型] 物件導向計算機 -複習
多態(多型)的語法和用法 實現多態(多型)的三個方法 虛方法virtual 抽象類abstract 接口(介面)interface Q:什麼時候用虛方法virtual? 如果這個父類有意義,能夠創建對象(物件),並且這個方法可以調用的話,可以寫成虛方法。 Q:什麼時候用抽象類abstract? 如果說父類不知道如何實現,方法也不知道怎麼寫,可以用抽象類 案例:物件...
[C# 筆記] 里氏轉換(LSP)-複習
繼承&里氏轉換(LSP) 1. 繼承複習 解決代碼的冗餘,實現多形(多態),增加了代碼的擴展素,便於維護。 繼承有兩個很重要的特性: 單根性 傳遞性 單根性 單根性指的是,一個類只能有一個父類,所以我們說,類是單繼承的,誰是多繼承的?介面(接口),介面才能多繼承。 類別:單繼承;介面:多繼承 傳遞性 子類可以使用父類的成員,一個類繼承了一個父類,繼承...