C#中的建構函式

周江霄發表於2014-02-19

    在C++中第一次聽到建構函式這個名詞,在C#中又遇到了。

    在建立某個類時,由於對該物件的狀態(資料)不是很明確,因此需要對其進行初始化。比如說我們要在長方形這個類中建立一個物件,或者說新建一個長方形,那麼我們首先要確定他的長和寬,假如我們無法確定它的長和寬,那麼我們是無法造出一個長方形來的。所以就要使用這個長方形類中一個用來構造該類所有物件的函式——建構函式。由於該函式要在建立一個新物件時使用,因此它不肯能存在於物件之後,那麼我們就必須在類中對它進行宣告和定義。

    如果有一個名稱是MyClass的類,其定義的建構函式框架如下:

 

public class MyClass
{
    public MyClass()
    {

    }
}

    下面就拿計算長方形的面積來舉例吧:

    首先,宣告一個rectangle類:

   

class rectangle
    {
        public rectangle(int w, int h)  //建構函式的宣告
        {
            width = w;
            high = h;
        }
        public int area()
        {
            return width * high;
        }
        private int width;
        private int high;
    }


    其次,將類例項化為A,完成初始化。

   

 Program
    {
        static void Main(string[] args)
        {
            rectangle A = new rectangle(3,4);    //建立物件A時執行了初始化
            Console.WriteLine("長方形的面積為{0}",A.area());
        }
    }

 

    最後,要注意的是, 建構函式沒有返回值,而且一個類可以有多個建構函式。使用有引數的建構函式時,需要自己寫一個空引數的建構函式。

   

相關文章