构造函数 Constructor
主要负责在类的对象声明的时候完成对变量的初始化。
如何初始化呢?怎么体现它的优势呢?看下面两组代码:
1.未使用构造函数
class Program
{
static void Main(string[] args)
{
MyClass my=new MyClass();
my.SetX(1);
my.SetY(2.5f);
my.SetSS("xxxx");
}
}
class MyClass
{
private int x;
private float y;
private string ss;
public void SetX(int x)
{
this.x = x;
}
public void SetY(float y)
{
this.y = y;
}
public void SetSS(string ss)
{
this.ss=ss;
}
}
这种对变量的初始化需要先声明对象,然后再对变量进行初始化。
2.使用构造函数
//构造函数:在类的对象声明的时候完成初始化的工作
class Program
{
static void Main(string[] args)
{
MyClass my=new MyClass(1,2.5f,"ss");
}
}
class MyClass
{
private int x;
private float y;
private string ss;
public MyClass(int x, float y, string ss)
{
this.x = x;
this.y = y;
this.ss = ss;
}
}
这种是使用构造函数的代码,明显少了一部分,而且结构更加清晰。
在声明对象的同时,进行了初始化,很方便。
3.注意事项
1.每个类都有默认的构造函数,如果自己写了构造函数,默认的构造函数将不起作用。
2.构造函数的名称必须与类名相同,但是参数的类型和个数可以不同。