1.構(gòu)造函數(shù)是用于初始化類實例的狀態(tài)。
2.實例化構(gòu)造函數(shù)在創(chuàng)建類的沒一個類的實例時執(zhí)行。
3.如果希望從類的外部訪創(chuàng)建類的實例,需要將構(gòu)造函數(shù)聲明為public。
4.構(gòu)造函數(shù)的名稱與類的名稱相同。
5.構(gòu)造函數(shù)無返回值。
例:
Class Myclass{
DateTime TimeOfInstantiation;??? //字段
public Myclass{?????????????? //構(gòu)造函數(shù)
TimeOfInstantiation=DateTime.Now;?? //初始化字段
}
}
帶參數(shù)的構(gòu)造函數(shù)
1.構(gòu)造函數(shù)可以帶參數(shù),參數(shù)的語法和其他方法完全相同。
2.構(gòu)造函數(shù)可以被重載。
在是要創(chuàng)建對象表達式創(chuàng)建類的實例時,要是有new運算符,后面跟著類的某個構(gòu)造函數(shù)。
例:
Class class1{
int Id;
string Name;
Public class1{ Id=28; Name="Nemo";}??????? //無參數(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