在C#中,构造函数就是与类(或结构体)具有相同名称的成员函数,它在类中的地位比较特殊,不需要我们主动调用,当创建一个类的对象时会自动调用类中的构造函数。在程序开发的过程中,我们通常使用类中的构造函数来初始化类中的成员属性。
C#中的构造函数有三种:
- 实例构造函数;
- 静态构造函数;
- 私有构造函数;
一、实例构造函数
构造函数时类中特殊的成员函数,它的名称与它所在类的名称相同,并且没有返回值。当我们使用New关键字创建类的对象时,可以使用实例构造函数来创建和初始化类中的任意成员属性。
实例代码如下:
public class Person
{
private string name;
private int age;
public Person(string n, int a)
{
name = n;
age = a;
}
}
只要创建Person类的对象,就会调用类中的实例构造函数,我们只需要在实例化对象时将具体的值传递给类中的构造函数即可,如下:
Person P=new Person("张三",18)
如果没有为类显式的创建构造函数,那么C#将会为这个类隐式的创建一个没有参数的构造函数(无参数构造函数),这个无参的构造函数构造函数会在实例化对象时为类中的成员属性设置默认值(关于C#中类型的默认值大家可以查阅《数据类型》一节)。在结构体中也是如此,如果没有为结构体创建构造函数,那么C#将隐式的创建一个无参数的构造函数,用来将每个字段初始化为其默认值。
若要初始化静态类或非静态类中的静态属性,则需要使用下面将要介绍的静态构造函数。