1:構(gòu)造方法的可訪問性
成都創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、酉陽土家族苗族網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為酉陽土家族苗族等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
構(gòu)造方法可以是共有的或私有的。
2:默認(rèn)構(gòu)造方法
默認(rèn)構(gòu)造方法就是不帶參數(shù)的構(gòu)造方法。
如果沒有為類添加任何構(gòu)造方法,系統(tǒng)會自動生成一個隱藏的默認(rèn)構(gòu)造方法;但如果用戶添加了任意一個構(gòu)造方法,系統(tǒng)就不會自動生成默認(rèn)的構(gòu)造方法了。也就是說,如果用戶為類添加了自己的定義的構(gòu)造方法,那么就只能使用用戶定義的這些構(gòu)造方法來生成對象了。
3:構(gòu)造方法調(diào)用構(gòu)造方法
格式如下:
構(gòu)造方法名(參數(shù)列表) : this(參數(shù)列表)
{
方法體
}
舉例:
class DerivedClass { public DerivedClass() : this(100) { Console.WriteLine("Derived Class's Default Constructor"); } public DerivedClass(int i) { Console.WriteLine("Derived Class's Constructor with Param: {0}", i); } }
和Java的區(qū)別
Java中,構(gòu)造方法調(diào)用另一個構(gòu)造方法也是使用this(參數(shù))的方法,但Java是將其作為一條語句放在方法體中的,而且這條this語句還必須是方法體的第一條語句。
4:在繼承結(jié)構(gòu)中,父類對象的生成
和C++、Java一樣,如果有繼承結(jié)構(gòu),那么在生成子類對象時會先生成父類對象。
默認(rèn)情況下,在執(zhí)行子類的構(gòu)造方式(所有的構(gòu)造方法)時會先自動調(diào)用父類的默認(rèn)構(gòu)造方法以生產(chǎn)父類對象,所以,如果在子類的構(gòu)造方法中沒有特別說明,而父類又沒有默認(rèn)的構(gòu)造方法,系統(tǒng)會提示出錯。
一般情況下,我們會在子類的構(gòu)造方法中明確的告訴系統(tǒng),子類的構(gòu)造方法要調(diào)用父類的哪個構(gòu)造方法。
格式如下:
子類的構(gòu)造方法名 : base(參數(shù)列表)
{
方法體
}
這樣,在執(zhí)行這個構(gòu)造方法之前,系統(tǒng)會先調(diào)用父類的相應(yīng)的構(gòu)造方法。
與Java的區(qū)別:Java中使用的關(guān)鍵字是super,而且也是作為語句放置于方法體的開頭。
分享名稱:C#中的類02:構(gòu)造對象
當(dāng)前路徑:http://muchs.cn/article28/geopcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計公司、營銷型網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)站維護(hù)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)