在创建某个类时,由于对该对象的状态(数据)不是很明确,因此需要对其进行初始化。比如说我们要在长方形这个类中创建一个对象,或者说新建一个长方形,那么我们首先要确定他的长和宽,假如我们无法确定它的长和宽,那么我们是无法造出一个长方形来的。所以就要使用这个长方形类中一个用来构造该类所有对象的函数——构造函数。由于该函数要在创建一个新对象时使用,因此它不肯能存在于对象之后,那么我们就必须在类中对它进行声明和定义。
如果有一个名称是MyClass的类,其定义的构造函数框架如下:
[csharp]
<span style="font-family:Microsoft YaHei;font-size:18px;">public class MyClass
{
public MyClass()
{
}
}</span>
下面就拿计算长方形的面积来举例吧:
首先,声明一个rectangle类:
[csharp]
<span style="font-family:Microsoft YaHei;font-size:18px;">class rectangle
{
public rectangle(int w, int h) //构造函数的声明
{
width = w;
high = h;
}
public int area()
{
return width * high;
}
private int width;
private int high;
}</span>
其次,,将类实例化为A,完成初始化。
[csharp]
<span style="font-family:Microsoft YaHei;font-size:18px;"> Program
{
static void Main(string[] args)
{
rectangle A = new rectangle(3,4); //创建对象A时执行了初始化
Console.WriteLine("长方形的面积为{0}",A.area());
}
}</span>
最后,要注意的是, 构造函数没有返回值,而且一个类可以有多个构造函数。使用有参数的构造函数时,需要自己写一个空参数的构造函数。