一:定義
建構函式分為預設建構函式和自定義建構函式;由於物件有狀態,物件使用者通過希望在使用物件之前先給物件的字段資料賦相關的值,每個c#類都提供了內建的預設建構函式,除了預設建構函式之外,類還會定義其他建構函式,也就是說在建立時直接初始化物件的狀態。
二:作用
根據定義,預設的建構函式不會接受引數,除了把新物件分配到記憶體中,預設建構函式確保所以字段資料設定為正確的預設值。
示例:建立乙個cars型別,需要petname和currspeed欄位逐一被賦值;
class
cars
public
void
printstate()
is going mph."
, petname, currspeed);}
public
void
speedup
(int delta)
}
在這裡,強制所有cars物件一開始就命名為chuck,時速為10,在控制台輸出如下預設的cars物件:
static
void
main
(string[
] args)
輸出結果
大多數情況下,類還會定義其他建構函式,以cars類為示例,它現在一共支援3個類建構函式:
class
cars
// 在這裡,currspeed會獲取int的預設值0
public
cars
(string pn)
// 讓呼叫者設定car的完整「狀態」
public
cars
(string pn, int cs)
// car的功能
public
void
printstate()
is going mph."
, petname, currspeed);}
public
void
speedup
(int delta)
}
main()方法:
static
void
main
(string[
] args)
輸出結果:
然而,一旦定義了自定義建構函式,預設建構函式就被自動從類中移除,並且不再有效,如果不定義自定義建構函式,c#編譯器就會給我們乙個預設的建構函式,以便物件使用者分配型別例項。如果希望物件使用者使用預設建構函式和自定義建構函式建立型別例項,就必須顯示重新定義預設建構函式。
C 建構函式 拷貝建構函式
建構函式 class base private int m var 建構函式無返回值型別,函式名和型別相同。拷貝建構函式傳遞引數為引用。1 class base2 7 拷貝建構函式 8 base base ref m var ref m var 9 11 private 12 intm var 13...
C 構造器(建構函式)
定義和作用 構造器是在構建類的 引用時 自動執行的方法。所以,每個類都必須至少要有乙個構造器。在訪問乙個類的時候,編譯器最先執行構造器中的 它與類同名,帶引數的構造器能夠獲取引數,但是與方法不同的是 構造器雖然也是一種 例項型別 即必須通過例項來進行呼叫,也可以稱之為引用型別 但是卻不能返回任何值 ...
C 建構函式
建構函式是一種特殊的成員函式,它主要用於為物件分配儲存空間,對資料成員進行初始化.1 建構函式的名字必須與類同名 2 建構函式沒有返回型別,它可以帶引數,也可以不帶引數 3 建構函式的主要作用是完成對類的初始化工作 4 在建立乙個類的新物件 使用new關鍵字 時,系統回自動呼叫給類的建構函式初始化新...