C#中的類02:構(gòu)造對象

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)

微信小程序開發(fā)