1.構(gòu)造函數(shù)是用于初始化類(lèi)實(shí)例的狀態(tài)。
2.實(shí)例化構(gòu)造函數(shù)在創(chuàng)建類(lèi)的沒(méi)一個(gè)類(lèi)的實(shí)例時(shí)執(zhí)行滔悉。
3.如果希望從類(lèi)的外部訪創(chuàng)建類(lèi)的實(shí)例型凳,需要將構(gòu)造函數(shù)聲明為public。
4.構(gòu)造函數(shù)的名稱(chēng)與類(lèi)的名稱(chēng)相同流酬。
5.構(gòu)造函數(shù)無(wú)返回值币厕。
例:
Class Myclass{
DateTime TimeOfInstantiation;??? //字段
public Myclass{?????????????? //構(gòu)造函數(shù)
TimeOfInstantiation=DateTime.Now;?? //初始化字段
}
}
帶參數(shù)的構(gòu)造函數(shù)
1.構(gòu)造函數(shù)可以帶參數(shù),參數(shù)的語(yǔ)法和其他方法完全相同芽腾。
2.構(gòu)造函數(shù)可以被重載旦装。
在是要?jiǎng)?chuàng)建對(duì)象表達(dá)式創(chuàng)建類(lèi)的實(shí)例時(shí),要是有new運(yùn)算符摊滔,后面跟著類(lèi)的某個(gè)構(gòu)造函數(shù)阴绢。
例:
Class class1{
int Id;
string Name;
Public class1{ Id=28; Name="Nemo";}??????? //無(wú)參數(shù)構(gòu)造函數(shù)
public class1(int val){Id=val;Name="Nemo"}??? //帶int參數(shù)構(gòu)造函數(shù)
public class1(String name ){Name=name;}??? //帶string參數(shù)構(gòu)造函數(shù)
public void SoundOff(){
ConSole.WriteLine{"Name {0}, Id {1}",Name,Id}
}
}
Class Program{
static? void Main(){
class1 a =new class1(),
??????????? b=new class1(7),
??????????? c=new class1("hello");
a.SoundOff();
b.SoundOff();
c.SoundOff();
?}
}
結(jié)果為:
Name Nemo,Id 28
Name Nemo,Id 7
Name hello , Id 0