构造函数:
C#中为了能够规范安全地使用通过New运算符实例化出来的对象,就提供了实现对象进行初始化的方法,这就是构造函数。
在C#中,类的成员字段可以分为实例字段和静态字段,与此相应的构造函数也分为实例构造函数和静态构造函数。
(1)实例构造函数
声明的语法形式:
[属性集信息][构造函数修饰符] 标识符([参数列表])[:base([参数列表])] [:this([参数列表])]
{
构造函数语句块
}
例如:
Class A { Int x,y;//声明int类型字段 Public A(int x) //带有一个参数的构造函数 { X=x} //给字段赋值 Public A(int x,int y)//带有两个参数的构造函数 { X=x; Y=y; } } |
用New运算符创建一个类的对象时,类名后的一对圆括号提供初始化列表,这实际上就是提供构造函数的参数。系统根据这个初始化类别的参数个数、参数类型和参数顺序调用不同的构造函数。例如:
类名 对象名=new 类名();//类名()是构造函数 Circle m=new Circle(); //创建了一个m对象 |
(2)静态构造函数
静态构造函数的目的是对静态字段的初始化,所以它只能对静态数据成员进行初始化,而不能对非静态数据成员进行初始化。静态构造函数不能有参数。
语法形式:
[属性集信息] [静态构造函数修饰符] 标识符()
{
静态构造函数体
}
例如:
Class Student { Static string XH,XM,XB;//静态字段,分别为学生学号,姓名,性别 Static int NL;//静态字段表示学生年龄 Static Student()//静态构造函数,不能有参数 { //静态构造函数,对类的静态字段初始化 XH="081101" XM="王明" XB="男" NL=21; } } |
析构函数:
一般来说,创建一个对象时需要用构造函数初始化数据,与此相对应释放一个对象时就需要析构函数。所以析构函数是用于实现析构类实例所需操作的方法。
静态方法与实例方法
类的成员可以分为静态字段和实例字段。静态字段是和类相关联的,不依赖特定对象的存在;实例字段是和对象相关联的,访问实例字段依赖实例的存在。因此,根据静态字段和实例字段的特性,构造函数将其分为静态构造函数和实例构造函数,方法也将其分为静态方法和实例方法。