首頁 >後端開發 >C#.Net教程 >帶你了解C#中的建構函數

帶你了解C#中的建構函數

Y2J
Y2J原創
2017-04-24 13:40:041819瀏覽

前言:

首先我們要知道為什麼要用建構函數,或是說我們要知道使用建構子能為我們解決什麼問題:
1、在賦初值的時候,我們可能需要重複書寫物件名,但是如果使用了建構子就不用那麼繁瑣。畢竟程式碼像那個什麼一樣,越短越好嘛(大家都知道,我就不說出來了)。
2、假如有這樣一個屬性,不允許使用者隨意改動,我們一般把這個屬性定義為唯讀類型的屬性。那麼這個只讀類型的屬性就不能再實例化之後對它賦值了,那我們要如何對它初始化呢?聰明如你,建構函數可以幫到我們。

那麼這麼好用的東西,編譯器有沒有為我們做出來呢?當然有了,我們定義好一個類,如果沒有寫建構方法,那麼編譯器就會自動在這個類別中給我們一個沒有參數的建構方法。而一旦我們寫了一個建構方法,那麼編譯器就不會再給我們增加這個沒有參數的構造方法了。

說了這麼多,建構函式到底是個什麼東西呢?建構子是用來建立物件的特殊方法,方法名稱和類別名稱一樣,沒有回傳值,連void都不用。文法格式是什麼呢?
                                                                                               中中          //建構子的主體
}

下面要說一說建構子的幾個特點:

1、 其名字必須和類別名稱相同

舉個栗子:

public class Person 
    { 
public Person(string name,char gender,int age) 
        { 
            this._name = name;//this指示代词 
            this._gender = gender; 
            this._age = age; 
        }

2、  不能直接被調用,必須使用new運算子來調用。

在上面的栗子中,我們呼叫Person類別的時候,應該這樣寫:

Person zsPerson = new Person(“張三”,'男',18);
3、  它可以
重載
(一個類別中可以定義不同參數個數或不同類型的建構子)。剛才有一點沒有說,那就是如果我們寫了一個建構函式之後,原來的無參數的建構子不就沒了嘛,這時候我們又需要的時候該怎麼辦呢?那就是自己再寫一次。

總結:

建構子可以用來建立對象,並且可以在建構函式中對對象進行初始化。小編出道時間還短,希望大家可以多指出缺點。

前言:

在看C#影片的

時候,學到了建構函數,覺得很有意思,因為了解還不夠深入,這裡先做個簡單的小總結。 首先我們要知道為什麼要使用建構函數,或者說我們要知道使用建構函數能夠為我們解決什麼問題: 1、在賦初值的時候,我們可能需要重複書寫物件名,但如果使用了建構函式就不用那麼繁瑣。畢竟程式碼像那個什麼一樣,越短越好嘛(大家都知道,我就不說出來了)。
2、假如有這樣一個屬性,不允許使用者隨意改動,我們一般會把這個屬性定義為唯讀類型的屬性。那麼這個只讀類型的屬性就不能再實例化之後對它賦值了,那我們要如何對它初始化呢?聰明如你,建構函數可以幫到我們。

那麼這麼好用的東西,編譯器有沒有為我們做出來呢?當然有了,我們定義好一個類,如果沒有寫構造方法,那麼編譯器就會自動在這個類中為我們添加一個沒有參數的構造方法。而一旦我們寫了一個建構方法,那麼編譯器就不會再給我們增加這個沒有參數的構造方法了。

說了這麼多,建構函式到底是個什麼東西呢?建構函式是用來建立物件的特殊方法,方法名稱和類別名稱一樣,沒有傳回值,連void都不用。文法格式是什麼呢?
                                                                                               中中          //建構子的主體
}

下面要說一說建構子的幾個特點:

1、 其名字必須和類別名稱相同

舉個栗子:

public class Person 
    { 
public Person(string name,char gender,int age) 
        { 
            this._name = name;//this指示代词 
            this._gender = gender; 
            this._age = age; 
        }

2、  不能直接被調用,必須使用new運算子來調用。

在上面的栗子中,我們呼叫Person類別的時候,應該這樣寫:

Person zsPerson = new Person(“張三”,'男',18);
3、  它可以重載(一個類別中可以定義不同參數個數或不同類型的建構子)。剛才有一點沒有說,那就是如果我們寫了一個建構函式之後,原來的無參數的建構子不就沒了嘛,這時候我們又需要的時候該怎麼辦呢?那就是自己再寫一次。

以上是帶你了解C#中的建構函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn