C# 構造函數(shù)
對象的初始化過程是自動完成的。例如,我們不需要自己尋找適于存儲新對象的內存空間。但是,在初始化對象的過程中,有時需要執(zhí)行一些額外的工作。例如,需要初始化對象存儲的數(shù)據(jù)。構造函數(shù)就是用于初始化數(shù)據(jù)的函數(shù)。
所有的類定義都至少包含一個構造函數(shù)。在這些構造函數(shù)中,可能有一個默認構造函數(shù),該函數(shù)沒有參數(shù), 與類同名。類定義還可能包含幾個帶有參數(shù)的構造函數(shù),稱為非默認的構造函數(shù)。代碼可以使用它們以許多方式實例化對象,例如,給存儲在對象中的數(shù)據(jù)提供初始值。
在C#中,用new關鍵字來調用構造函數(shù)。例如,可用下面的方式通過其默認的構造函數(shù)實例化一個
CupOfCoffee myCup = new CupOfCoffee();
還可以用非默認的構造函數(shù)來實例化對象。例如,CupOfCoffee類有一個非默認的構造函數(shù),它使用一個參數(shù)在初始化時設置咖啡豆的品牌:
CupOfCoffee myCup = new CupOfCoffee ("Blue Mountain");
構造函數(shù)與字段、屬性和方法一樣,可以是公共或私有的。在類外部的代碼不能使用私有構造函數(shù)實例化對象,而必須使用公共構造函數(shù)。這樣,通過把默認構造函數(shù)設置為私有的,就可以強制類的用戶使用非默認的構造函數(shù)。
一些類沒有公共的構造函數(shù),這表明外部的代碼不可能實例化它們,這些類稱為不可創(chuàng)建的類,但這些類并不是完全沒有用的。
點擊加載更多評論>>