構造方法:用於實例化對象。 一般情況下,類或者結構體中都會存在一個預設的無參構造方法。如果我們在類中手動書寫了有參的構造方法,那麼這個無參構造方法就會被覆蓋掉;但是結構體中卻不會被覆蓋,即使我們在結構體中書寫了有參構造方法,無參構造方法依然可以使用。 【在使用單例模式時,我們可以書寫 private ...
構造方法:用於實例化對象。
一般情況下,類或者結構體中都會存在一個預設的無參構造方法。如果我們在類中手動書寫了有參的構造方法,那麼這個無參構造方法就會被覆蓋掉;但是結構體中卻不會被覆蓋,即使我們在結構體中書寫了有參構造方法,無參構造方法依然可以使用。
【在使用單例模式時,我們可以書寫 private 類型的構造方法,防止在其他類中再次被實例化,增強代碼的健壯性。】
靜態構造方法:用於初始化靜態成員。
一個類中只能有一個靜態構造方法,且沒有任何訪問修飾符,也沒有任何參數。
靜態構造方法會在程式創建第一個實例,或者引用任何靜態成員之前,完成類中靜態成員的初始化。
對象初始化器:在一個類中,我們通常使用構造方法來對欄位、屬性等成員賦值,完成對象的初始化。但是當一個類中的欄位、屬性很多很多的時候,不可能為各種情況都定義構造方法,這個時候我們可以使用“對象初始化器”來進行欄位、屬性的賦值,完成對象初始化。
語法格式如下:
1 public class Test 2 { 3 private void Start() 4 { 5 AA b = new AA() { a = 1, b = true }; 6 AA a = new AA() { b = true, c = "str" }; 7 } 8 } 9 public class AA 10 { 11 public int a; 12 public bool b; 13 14 private string _c; 15 public string c 16 { 17 get { return _c; } 18 set { _c = value; } 19 } 20 }