构造函数:
C#所有类型除了Object都有父类,如果类在编码时没有写父类,那么在编译时 ,编译器会默认继承Object,这就是为什么我们自己写的类没有继承Object却可以用Object类的方法(例如ToString)。
Base关键字
子类构造函数中,先调用父类的构造函数,子类构造函数的参数传递到父类构造函数中,因为构造函数和析构函数不能被继承
For Example:
class Student:Person
{
public string StuNo { get; set; }
public Student(string name,int age,string stuNo):base(name,age)
{
this.StuNo = stuNo;
}
}
this关键字:
this 表示当前对象 ,可以通过this 来调用当前类型的其他构造函数
For Example:
class Student:Person
{
public string StuNo { get; set; }
public Student(string name,int age,string stuNo):base(name,age)
{
this.StuNo = stuNo;
}
public Student(string name):this(name,default(int),default(string))
{
}
}
静态构造函数:
静态构造函数不能手动调用,而是第一次使用静态类(或者静态成员赋值之前)前自动调用的(编译器会做特殊处理),静态构造函数必须没有参数,没有访问修饰符。(因为无法手动调用 那么访问修饰符和传递参数没有意义)