C#構造方法(函數)


一、概括

1.通常創建一個對象的方法如圖:

通過  Student tom = new Student(); 創建tom對象,這種創建實例的形式被稱為構造方法。

簡述:用來初始化對象的,為類的成員賦值。

 

2.構造方法特點

a.方法名與類名相同;

b.沒有返回值類型;

c.必須要通過new的形式調用;

 

3.語法

訪問修飾符 類名([參數])

{

  方法體

}


二、 無參構造方法

1.在默認情況下,系統將會給類分配一個無參構造方法,並且沒有方法體。

通過反編譯工具看出:

我們也可以自定義一個無參構造方法,在無參構造方法中對類的屬性進行賦值等操作。


三、帶參構造方法

 如果僅僅局限於無參構造方法,那么屬性賦值是固定的,沒有對外的可變性。有了參數,給予可以根據業務邏輯,去針對性的賦值操作。


四、構造方法可以形成方法的重載


五、強制使用有參構造方法

  上面描述了,系統在類沒有構造方法的時候,會生成一個無參構造方法。一旦我們在類中編寫了構造方法,那么這個自動生成的無參構造函數就不會生成。根據此特性,我們可以只定義有參構造方法,因此在創建對象的時候,就只能賦值使用有參的構造方法。

構造方法具有強制性的特點。


 

 六、構造方法的復用

1.遵循面向對象思想,因此我們寫代碼的時候應該減少冗余,增強復用性。構造方法復用形式如下:

用”:this”調用自身其他構造方法。

2.this關鍵字

a.當成員變量和局部變量重名時使用this區分。

b.this表示當前類的對象,用於訪問該類的成員變量或方法。


七、對象初始化器

1.初始化對象的形式

  a.常規的“”對象名.屬性名=值;“”

  b.構造方法;

  c.對象初始化器;

2.實現形式:

3.描述

 對象初始化器是一種初始化對象的形式,本質上其實就是一種語法糖。它不具有像構造方法那樣的強制性,在為屬性賦值的時候不用遵守賦值的順序和數量。

4.對象初始化器與構造方法的異同點

  a.構造方法具有強制性,對象初始化器沒有強制性。構造方法本質上是一種特性的方法,所有就要遵循方法的調用邏輯。

  b.對象初始化器功能單一,只能完成對象屬性初始化。而構造方法可以在方法體中靈活的分配,如對象創建時讀取文件等需求。

  c.順序的不同,對象初始化器是在調用了構造方法才執行的屬性賦值。而構造方法在new 的時候進行調用,並且邏輯代碼都是在類里面的。


 


免責聲明!

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



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