這篇文章給大家分享的是有關(guān)C#中的構(gòu)造函數(shù)是什么的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司公司2013年成立,先為舟山等服務(wù)建站,舟山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為舟山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。前言:
首先我們要知道為什么要使用構(gòu)造函數(shù),或者說我們要知道使用構(gòu)造函數(shù)能夠?yàn)槲覀兘鉀Q什么問題:
1、在賦初值的時候,我們可能需要重復(fù)書寫對象名,但是如果使用了構(gòu)造函數(shù)就不用那么繁瑣。畢竟代碼像那個什么一樣,越短越好嘛(大家都知道,我就不說出來了)。
2、假如有這樣一個屬性,不允許用戶隨意改動,我們一般把這個屬性定義為只讀類型的屬性。那么這個只讀類型的屬性就不能再實(shí)例化之后對它賦值了,那么我們?nèi)绾螌λ跏蓟??聰明如你,?gòu)造函數(shù)可以幫到我們。
那么這么好用的東西,編譯器有沒有為我們做出來呢?當(dāng)然有了,我們定義好一個類,如果沒有寫構(gòu)造方法,那么編譯器就會自動在這個類中給我們添加一個沒有參數(shù)的構(gòu)造方法。而一旦我們寫了一個構(gòu)造方法,那么編譯器就不會再給我們添加這個沒有參數(shù)的構(gòu)造方法了。
說了這么多,構(gòu)造函數(shù)到底是個什么東西呢?構(gòu)造函數(shù)是用來創(chuàng)建對象的特殊方法,方法名和類名一樣,沒有返回值,連void都不用。語法格式是什么呢?
[訪問修飾符] <類名>(參數(shù))
{
//構(gòu)造函數(shù)的主體
}
下面說一說構(gòu)造函數(shù)的幾個特點(diǎn)吧:
1、 其名字必須和類名相同
舉個栗子:
public class Person { public Person(string name,char gender,int age) { this._name = name;//this指示代詞 this._gender = gender; this._age = age; }
2、 不能被直接調(diào)用,必須使用new運(yùn)算符來調(diào)用。
在上面的栗子中,我們調(diào)用Person類的時候,應(yīng)該這樣寫:
Person zsPerson = new Person(“張三”,’男’,18);
3、 它可以重載(一個類中可以定義不同參數(shù)個數(shù)或不同類型的構(gòu)造函數(shù))。剛才有一點(diǎn)沒有說,那就是如果我們寫了一個構(gòu)造函數(shù)之后,原來的無參數(shù)的構(gòu)造函數(shù)不就沒了嘛,這個時候我們又需要的時候該怎么辦呢?那就是自己再寫一遍。
構(gòu)造函數(shù)可以用來創(chuàng)建對象,并且可以在構(gòu)造函數(shù)中對對象進(jìn)行初始化。小編出道時間還短,希望大家可以多多指出不足之處。
前言:在看C#視頻的時候,學(xué)到了構(gòu)造函數(shù),覺得很有意思,因?yàn)榱私膺€不夠深入,這里先做個簡單的小總結(jié)。
首先我們要知道為什么要使用構(gòu)造函數(shù),或者說我們要知道使用構(gòu)造函數(shù)能夠?yàn)槲覀兘鉀Q什么問題:
1、在賦初值的時候,我們可能需要重復(fù)書寫對象名,但是如果使用了構(gòu)造函數(shù)就不用那么繁瑣。畢竟代碼像那個什么一樣,越短越好嘛(大家都知道,我就不說出來了)。
2、假如有這樣一個屬性,不允許用戶隨意改動,我們一般把這個屬性定義為只讀類型的屬性。那么這個只讀類型的屬性就不能再實(shí)例化之后對它賦值了,那么我們?nèi)绾螌λ跏蓟??聰明如你,?gòu)造函數(shù)可以幫到我們。
那么這么好用的東西,編譯器有沒有為我們做出來呢?當(dāng)然有了,我們定義好一個類,如果沒有寫構(gòu)造方法,那么編譯器就會自動在這個類中給我們添加一個沒有參數(shù)的構(gòu)造方法。而一旦我們寫了一個構(gòu)造方法,那么編譯器就不會再給我們添加這個沒有參數(shù)的構(gòu)造方法了。
說了這么多,構(gòu)造函數(shù)到底是個什么東西呢?構(gòu)造函數(shù)是用來創(chuàng)建對象的特殊方法,方法名和類名一樣,沒有返回值,連void都不用。語法格式是什么呢?
[訪問修飾符] <類名>(參數(shù))
{
//構(gòu)造函數(shù)的主體
}
下面說一說構(gòu)造函數(shù)的幾個特點(diǎn)吧:
1、 其名字必須和類名相同
舉個栗子:
public class Person { public Person(string name,char gender,int age) { this._name = name;//this指示代詞 this._gender = gender; this._age = age; }
2、 不能被直接調(diào)用,必須使用new運(yùn)算符來調(diào)用。
在上面的栗子中,我們調(diào)用Person類的時候,應(yīng)該這樣寫:
Person zsPerson = new Person(“張三”,’男’,18);
3、 它可以重載(一個類中可以定義不同參數(shù)個數(shù)或不同類型的構(gòu)造函數(shù))。剛才有一點(diǎn)沒有說,那就是如果我們寫了一個構(gòu)造函數(shù)之后,原來的無參數(shù)的構(gòu)造函數(shù)不就沒了嘛,這個時候我們又需要的時候該怎么辦呢?那就是自己再寫一遍。
感謝各位的閱讀!關(guān)于C#中的構(gòu)造函數(shù)是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!