淺談C# 構(gòu)造方法(函數(shù))
一、概括
1.通常創(chuàng)建一個對象的方法如圖:
通過 Student tom = new Student(); 創(chuàng)建tom對象,這種創(chuàng)建實例的形式被稱為構(gòu)造方法。
簡述:用來初始化對象的,為類的成員賦值。
2.構(gòu)造方法特點
a.方法名與類名相同;
b.沒有返回值類型;
c.必須要通過new的形式調(diào)用;
3.語法
訪問修飾符 類名([參數(shù)])
{
方法體
}
二、 無參構(gòu)造方法
1.在默認情況下,系統(tǒng)將會給類分配一個無參構(gòu)造方法,并且沒有方法體。
通過反編譯工具看出:
我們也可以自定義一個無參構(gòu)造方法,在無參構(gòu)造方法中對類的屬性進行賦值等操作。
三、帶參構(gòu)造方法
如果僅僅局限于無參構(gòu)造方法,那么屬性賦值是固定的,沒有對外的可變性。有了參數(shù),給予可以根據(jù)業(yè)務(wù)邏輯,去針對性的賦值操作。
四、構(gòu)造方法可以形成方法的重載
五、強制使用有參構(gòu)造方法
上面描述了,系統(tǒng)在類沒有構(gòu)造方法的時候,會生成一個無參構(gòu)造方法。一旦我們在類中編寫了構(gòu)造方法,那么這個自動生成的無參構(gòu)造函數(shù)就不會生成。根據(jù)此特性,我們可以只定義有參構(gòu)造方法,因此在創(chuàng)建對象的時候,就只能賦值使用有參的構(gòu)造方法。
構(gòu)造方法具有強制性的特點。
六、構(gòu)造方法的復(fù)用
1.遵循面向?qū)ο笏枷耄虼宋覀儗懘a的時候應(yīng)該減少冗余,增強復(fù)用性。構(gòu)造方法復(fù)用形式如下:
用”:this”調(diào)用自身其他構(gòu)造方法。
2.this關(guān)鍵字
a.當成員變量和局部變量重名時使用this區(qū)分。
b.this表示當前類的對象,用于訪問該類的成員變量或方法。
七、對象初始化器
1.初始化對象的形式
a.常規(guī)的“”對象名.屬性名=值;“”
b.構(gòu)造方法;
c.對象初始化器;
2.實現(xiàn)形式:
3.描述
對象初始化器是一種初始化對象的形式,本質(zhì)上其實就是一種語法糖。它不具有像構(gòu)造方法那樣的強制性,在為屬性賦值的時候不用遵守賦值的順序和數(shù)量。
4.對象初始化器與構(gòu)造方法的異同點
a.構(gòu)造方法具有強制性,對象初始化器沒有強制性。構(gòu)造方法本質(zhì)上是一種特性的方法,所有就要遵循方法的調(diào)用邏輯。
b.對象初始化器功能單一,只能完成對象屬性初始化。而構(gòu)造方法可以在方法體中靈活的分配,如對象創(chuàng)建時讀取文件等需求。
c.順序的不同,對象初始化器是在調(diào)用了構(gòu)造方法才執(zhí)行的屬性賦值。而構(gòu)造方法在new 的時候進行調(diào)用,并且邏輯代碼都是在類里面的。
以上就是淺談C# 構(gòu)造方法(函數(shù))的詳細內(nèi)容,更多關(guān)于C# 構(gòu)造方法(函數(shù))的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C# SaveFileDialog與OpenFileDialog用法案例詳解
這篇文章主要介紹了C# SaveFileDialog與OpenFileDialog用法案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08超簡單C#獲取帶漢字的字符串真實長度(單個英文長度為1,單個中文長度為2)
正常情況下,我們是直接去string的length的,但是漢字是有兩個字節(jié)的,所以直接用length是錯的2018-03-03基于NET?Core?的Nuget包制作、發(fā)布和運用流程解析(完整過程)
這篇文章主要介紹了基于NET?Core?的Nuget包制作、發(fā)布和運用流程,本文通過圖文并茂的形式給大家介紹了Nuget包制作過程,感興趣的朋友跟隨小編一起看看吧2022-02-02