方法過載是指在乙個類中定義多個同名的方法,但要求每個具有不同的引數或引數的個數。
我們可以理解為方法過載可在不改變原方法的基礎上,新增功能。方法過載算是提供了函式可擴充套件的能力。
1.並不是只有構造方法可以過載,普通方法也是可以過載的。
2.方法過載時,兩個方法必須要方法名相同,但引數型別或個數必須要有所不同。
3.和返回值沒有關係,和引數的個數和型別有關。
1.對多個屬性進行賦值時,不需要重複的寫例項名。
2.可以保證使用者在new乙個物件時,必須對某乙個屬性進行賦值。
比如說乙隻貓在出生的時候,就給這只貓起好名字了,定義乙個cat類的構造方法,返回乙個字串就好了,**如下:
public class cat
public string shout()
}
客戶端**:
private void button1_click(object sender, eventargs e)
最後顯示結果:
這是剛出生有名字的貓,那如果剛出生沒有起好名字的該怎麼辦呢?貓也得分個公母吧,這時候就要用到方法過載了。
public class cat
public cat()
public cat(char gender)
public string shout()
public string shout1()
public string shout2()
客戶端**:
public form1()
private void button1_click(object sender, eventargs e)
private void button2_click(object sender, eventargs e)
private void button3_click(object sender, eventargs e)
最後顯示結果:
計算兩個數的和,要考慮兩個都是整數型別的,還有乙個整數乙個小數型別的,還考慮兩個都是小數型別的。
1.不使用方法過載:
static void main(string args)
public static int addnumber1(int num1,int num2)
public static double addnumber2(int num1, double num2)
public static double addnumber3(double num1,double num2)
不用方法過載,每次都要重新定義乙個函式名,然後作用是一樣的,造成了「資源浪費」,使用方法過載就可以用相同的函式名,去完成這些功能。
2.使用方法過載:
static void main(string args)
public static int addnumber(int num1,int num2)
public static double addnumber(int num1, double num2)
public static double addnumber(double num1,double num2)
方法過載用的地方還是挺多的,多加練習,就能掌握了。 《大話設計模式》 附錄A 封裝 繼承 多型
對於不是純軟體開發出身的flasher,什麼是設計模式,什麼是oop程式設計,簡直就是一頭霧水。但每每回頭看自己寫的一坨坨 屎 一樣的 心都碎了,是應該是時候要改變了。從網上搜尋了一下資源,買了本程杰的 大話設計模式 粗看了一篇感覺很不錯,通過故事講述程式如何設計的,使高深的oop程式設計思想變得通...
設計模式三 模板方法模式
定義乙個操作中的演算法的框架,而將一些步驟延遲到子類中。使得子類可以不改變乙個演算法的結構既可以重定義該演算法的某些特定步驟 抽象模板類 public abstract class abstractclass 具體模板類 public class concreteclass1 extends abs...
設計模式(三) 工廠方法模式
在設計模式 簡單工廠模式文章中介紹了簡單工廠模式,通過乙個例子講述了如何使用簡單工廠模式。同時也留下了乙個問題,那就是簡單工廠模式破壞了開放 封閉原則。那麼本文將介紹另外一種設計模式 工廠方法模式。主要介紹其概念 用途 實現方式 以及優缺點等。工廠方法模式 factory method patter...