1、静态构造函数
静态构造函数就是用static修饰符声明的构造函数,主要功能是用于初始化静态数据,或者执行仅需执行一次的操作。
静态函数通常在任何类成员被访问之前执行。
注意静态函数不能有任何访问修饰符,也不接受参数。
例子如下:
class CreateDateTime {
public static DateTime CreateDate;
static CreateDateTime() {
CreateDate = DateTime.Today;
}
}
该类用来储存当前日期。
2、从构造函数中调用其它构造函数
有时一个类需要多个构造函数,但总有代码重复的部分,可以在一个构造函数中调用另一个来简化代码。
例子如下:
class Student {
public string Name;
public int Age;
public Student(string name, int age) {
this.Name = name;
this.Age = age;
}
public Student(string name) : this(name, 14) {
}
}
例子中,假设学生默认为14岁,可以仅用学生的名字来初始化类。
3、派生类的构造函数
若某个派生类的基类仅声明了一个带参数的构造函数,那么该类的构造函数必须显式调用基类的构造函数,并把必要的参数传递过去。因为派生类在构造时会默认调用其基类的无参构造函数,若不显式调用基类带参数的构造函数会发生编译错误。
例子如下:
class Scores {
private string _studentName;
public Scores(string name) {
_studentName = name;
}
}
class English : Scores {
private int _englishScore;
public English(string name, int englishScore) : base(name) {
_englishScore = englishScore;
}
}
派生类为学生的英语成绩,需要调用基类构造函数来初始化学生名字。