C#的 構造函數 和 方法重載


構造函數(一本正經的講構造函數 如果想看不正經的往下翻看方法重載)

方法名稱與類名相同,沒有返回值類型,連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)

 他都可以運行然后返回結果

是不是很神奇

是不是很鬼畜

嗯就是這樣

今天的內容講完了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM