Home
R
Cancel

[C# 筆記] 構造方法繼承的要點

父類/基類 子類/派生類 在初始化時,基類構造方法總是會首先運行 基類的構造方法不會被繼承,在派生類需要重新定義 舉例1:在初始化時,基類構造方法總是會首先運行 先創建一個Staff類,構造函數什麼都不做,只輸出一句話「員工類初始化」 再創建一個Manager類,繼承Staff類,構造函數什麼都不做,只輸出一句話「經理類初始化」 //父類/基類 public ...

[C# 筆記] 用戶管理(重構)

用戶登入過程 重構用戶登入: 用戶系統-用戶登入 User 菜單系統-顯示菜單 Menu 控制系統-流程控制 CMSController 用戶系統-用戶登入 User 新增一個User class,把登入的部分放到 User class 中 還需要一個 isUserLogin變量 public class User { public bool isU...

[C# 筆記] 字段、屬性與對象(物件)封裝

字段、屬性的區別 將 Point class的 x, y改成private 上節已經將x, y改成private,但我們需要從外部訪問這兩個字段,但還需要這兩個字段必須高度保持各自的私有隔離。 例如說,我們現在提出一個要求:經緯度都不可以是負數的。 如果將x改成public,我們是可以定義的,但是如果我們一不小心給他賦值的時候,寫成了point.x = -30,那麼這個時候可能就會引起...

[C# 筆記] 訪問修飾符 Access Modifier

訪問修飾符 Access Modifier 像這種在物件外部直接訪問內部成員變量的方法,甚至是重新賦值的操作,在我們實際工作中都是非常危險的,所以一般來說,我們希望能夠儘量避免外界直接操作classn內部的成員變量、內部的字段,那麼這個時候我們就需要使用 Access Modifier訪問修飾符,來對訪問class內部成員變量、或者內部方法加以限制。 在C#中,我們最常見的訪問修飾符: ...

[C# 筆記] 構造方法與方法重載

Point class Point class在進行實體化、初始化的時候,程式碼結構看起來非常分散,比較凌亂,現在就來解決這個問題。 實體化的同時,完成對坐標點a數據的初始化: //類的實體化 Point a = new Point { x = 15, //數據的初始化 y = 10 }; 這種方法直接在 new 一個物件的時候,使用大括號來初始化數據的過程,叫做...

[C# 筆記] 對象(物件)聚合Cohesion-高內聚、低耦合

寫一個方法來輸出2d 坐標點:{x:15, y:10}這個坐標點的數據 經過class的處理,我們完美的規避了程序中可能會出現的風險,同時也對數據做出了準確的限制。 根據面向對象(物件導向)的原則,我們添加了對象(物件)、添加了類以後,也就引起了另外一個問題,就是對象(物件)的聚合問題,也就是我們經常聽到的「高內聚、低耦合」的說法。 什麼是「高內聚、低耦合」呢?簡單來說,就是功能相關的...

[C# 筆記] 類別class和實體instance

實體instance 寫一個方法來輸出2d 坐標點:{x:15, y:10}這個坐標點的數據: //2d 坐標點:{x:15, y:10} static void Main(string[] args) { //2d 坐標點:{x:15, y:10} DrawPoint(15, 10); Console.Read(); return; } public ...

[C# 筆記] 什麼是面向對象(物件導向)

什麼是面向對象(物件導向) 原則:使用對象來描述世界中客觀存在的一切事物 世界的運行過程,就是不同對象互相作用的結果 物件導向要求我們用程式碼來模擬真實世界的客觀運行規律 對象(物件)、類、實例(實體) 從宏觀上來認識,分解並且總結某個事物的運行規則 舉例:五子棋 七個步驟,接下來循環234567,直到黑子勝出 或是白子勝出,然後遊戲結束。 以下的每一個步驟都可以...

[C# 筆記] 值傳參 & 引用傳參(ref) & 輸出傳參(out)

C# 中有三種傳遞參數的方法: 值傳參 引用傳參ref 輸出傳參out 值傳參 在這種方式下,當我們調用一個方法的時候,會為每一個值創建一個新的儲存位置,也就是說,實真的參數會賦值給方法中的形參,而實參和形參在程式執行的時候,使用的是兩個完全不同的內存,當形參改變的時候,不會影響實參的數據,從而保証了實參數據的安全。 參數傳遞的默認方式 為每個值參數創建一個新的...

[C# 筆記] 方法

什麼是方法? 大括號包起來的程式碼區塊 可以調用 可以執行 在C#中,所有的指令都必須在方法中才能執行 <Access Specifier> <Modifier> <Return Type> <Method Name> (Parameter List) { Method Body } 訪問修飾符 聲明修飾符 返回類...