程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#中類的構造方法的簡單說明

C#中類的構造方法的簡單說明

編輯:關於C語言

1、什麼是構造方法?

首先,它是一個方法,它是類中 眾多方法中的一個。其次,它具有類中其他方法所不具備的一些特性。

簡單來說,它是一個有著特殊使命的方法,他的綽號叫構造。

2、構造方法相對其他方法有哪些不同?

方法名:類中普通的方法可以根據代碼書寫者的個人喜好任意取名。但是,構造方法不可以。構造方法的名字必須與類名相同。換句話說,當類中的一個方法名與類名相同時,C#即認為此方法為類的構造方法。

執行順序:類中的普通方法是在類實例化之後被調用執行的,而構造方法則是在類實例化之前執行的。

可以簡單理解為:

當准備創建一個類的實例時,首先會執行構造方法,然後在進行類的實例化。如以下代碼

ClassName objName = new ClassName();

可以理解為 關鍵字 new 後面 ClassName() 為類的構造方法。

3、如果類中沒有書寫構造方法,實例化類時會出錯麼?

不會。首先,C#中 每個類都有自己的構造方法;即便你在書寫類時沒有書寫構造方法,C#也會創造一個默認的沒有參數的構造方法出來,這個默認的構造方法是看不到的,但它是真實存在的。

4、一個類中只能由一個構造方法麼?

不是的,一個類中可以存在多個構造方法,以不同的參數進行區分,這就構成了構造方法的重載。例如:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        private Program()
        {
            Console.WriteLine("我是構造函數Program(),我沒有參數");
        }
        public Program(string a)
        {
            Console.WriteLine("我是構造函數Program(string a),我的參數是字符");
        }
        public Program(int b)
        {
            Console.WriteLine("我是構造函數Program(int b),我的參數是數值");
        }
        public Program(string a,int b)
        {
            Console.WriteLine("我是構造函數Program(string a,int b),我的參數有兩個");
        }
        static void Main(string[] args)
        {
            Program objProgram0 = new Program();
            Program objProgram1 = new Program("123");
            Program objProgram2 = new Program(123);
            Program objProgram3 = new Program("123",123);
            Console.Read();
        }
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved