c#方法的重載:分為實例方法重載和靜態方法重載倆種 1.實例方法重載的調用特點 首先寫三個Add方法和三個Sub方法 特點:編譯器將自動更具方法的參數個數和類型自動匹配類的對應方法。 2.實例方法重載的好處 1.減少類的對外介面(只顯示一個方法),降低類的複雜度。 2.便於用戶使用(相同功能的方法名 ...
c#方法的重載:分為實例方法重載和靜態方法重載倆種
1.實例方法重載的調用特點
首先寫三個Add方法和三個Sub方法
public int Add(int a,int b) { return a + b; } public double Add(double a,double b) { return a + b; } public double Add(int a,double b) { return a + b; } public int Sub(int a, int b) { return a - b; } public double Sub(double a, double b) { return a - b; } public double Sub(int a, double b) { return a - b;
}
特點:編譯器將自動更具方法的參數個數和類型自動匹配類的對應方法。
2.實例方法重載的好處
1.減少類的對外介面(只顯示一個方法),降低類的複雜度。
2.便於用戶使用(相同功能的方法名稱都一樣)和識別
3.實例方法重載的條件
1.方法名稱必須一樣
2.方法的參數不一樣或類型不一樣
4.實例方法的無關性
方法的重載與返回值無關
靜態方法的重載
1.使用關鍵字static
2.靜態方法的調用格式:類名.方法名
3.使用案例
public static int Add(int a,int b,int c){ return a+b+c; }
static void main(string [] args){ int res=類名.Add(10,20,30); Console.WriteLine(res); }
4.靜態成員使用經驗
- 靜態成員在程式運行時,被調用到記憶體中,併在系統未關閉之前不會被GC回收、
- 類的成員使用非常頻繁的時候,可以考慮使用static修飾,但是不要使用過多
- 靜態方法不能直接調用實例成員(靜態方法不能直接調用實例方法,如果調用必須採用創建對象的方式)
- 靜態方法也能夠重載
構造方法相關知識:
問題:如果在初始化對象的時候自定義初始化內容怎麼辦?
解決:使用有參數的構造方法
有參數構造方法使用總結:
- 參數類型和順序同樣需要和定義規範的一致
- 有參數的構造方法可以讓用戶輕鬆選擇使用何種方式完成對象的初始化工作
- 使用有參數構造方法能有效避免用戶單個初始化對象屬性的麻煩
- 如果想要約束用戶創建時必須完成某些屬性的初始化工作,則可以去掉無參構造方法
構造方法也可以有多個:
this關鍵字:
1.當成員變數和局部變數重名時使用this區分(不帶this一遍的參數為局部變數)
2.this表示當前類的對象,用於訪問該類成員變數或方法
構造方法與實例方法的區別:
構造方法:
- 用於對象的初始化,一個類至少有一個構造方法
- 不能顯示調用,只能在創建對象的時候調用,使用呢我關鍵字
- 構造方法不能有返回值
- 構造方法的名稱必須和類名一樣
實例方法:
- 用於表示對象能幹什麼,一個類可以沒有任何的實例方法
- 只能顯示調用:類名.方法名
- 可以有返回值,沒有時必須一void表示
- 方法的命名要有意義,一般是“動詞+名詞”形式,不能與類名相同,命名規範採用Pascal命名法
下一篇:對象初始化器,對象的銷毀,基本數據類型和引用數據類型總結,ref和out關鍵字,快速理解分裝.......
未完待續,不足之處,請求指點,謝謝支持,一名努力的程式員......