構造函數(一本正經的講構造函數 如果想看不正經的往下翻看方法重載)
方法名稱與類名相同,沒有返回值類型,連void都沒有
用作給類的對象初始化
一個類中可以有多個構造
如果手動添加一個構造,系統不會自動生成無參構造
定義一個Person類,之中有string類型的姓名,int類型的年齡和枚舉類型的性別(male,female)
創建兩個構造函數
構造函數用作給對象附初值 在新建一個類的對象時都會調用類的構造函數
例如 Person p=new Person(); 括號內就是構造函數的參數
一個方法可以有多個構造函數 參數列表必須不同(方法重載)
調用有三個參數的構造函數為Person類對象附初值Person p = new Person("斯沃",18,0);
調用無參方法Person p1=new Person();
比如呢 計算器計算加法 兩個整數也能相加,兩個小數也能相加,一個整數一個小數也能相加
為了實現如上功能,我們該怎么辦呢
我們可以寫四個方法,分別叫做SumIntAndInt(int a,int b) SumIntAndDouble SumDoubleAndInt SumDoubleAndDouble
啊四個方法
是不是看起來很高端
但是並沒有什么卵用 首先名字很長並且都要是不同的名字
其次調用起來的話並不知道傳進去什么參數,該用什么類型
那么 該怎么辦呢,怎么辦呢
其實C#里可以定義多個方法名相同的方法 這就是方法的重載
方法重載
在同一個類里 方法名稱相同
方法參數列表不同(個數 類型 順序)
與方法的返回值沒有任何關系
對對對對對對 如你所見他並不會報錯
但是不能定義兩個參數列表完全相同的方法,只要類型或者個數或者順序不一樣都可以成功
如你所見 不抵了 因為參數列表完全相同 就算返回值類型不同也不行 返回值類型跟方法重載沒有半毛錢關系!!
神奇的是這樣就可以了!
然后我們在Main方法里就可以調用這四個重載的方法
比如Sum(1,2) Sum(1.1,2) Sum(1,2.1) Sum(1.1,2.2)
他都可以運行然后返回結果
是不是很神奇
是不是很鬼畜
嗯就是這樣
今天的內容講完了