一:调用父类无参构造函数
格式
父类
class BaseClass{
public BaseClass(){
Console.WriteLine("baseclass无参构造函数");
}
}
子类
class DerivedClass:BaseClass{
public DerivedClass():base(){
Console.WriteLine("这个是DerivedClass的无参构造函数");
}
}
当创建子类对象时
class Program{
static void Main(string[] args){
DerivedClass o1=new DerivedClass();
}
}
此时控制台会输出:
baseclass无参构造函数
这个是DerivedClass的无参构造函数
说明会先执行父类的无参构造函数再执行子类的无参构造函数
另: 当我们没有再子类的构造函数中显示声明调用父类的构造函数时,默认会调用父类无参构造函数,因此上面代码中的base可以省略不写
二:调用父类的有参构造方法
父类
class BaseClass{
private int x;
public BaseClass(int x){
this.x=x;
Console.WriteLine("x赋值完成")
}
}
子类
class DerivedClass{
private int y;
public DerivedClass(int x,int y):base(x){
this.y=y;
Console.WriteLine(y);
}
}
通过base可以给父类中有参数的构造方法传递参数
子类创建对象的时候总是会先调用父类的构造方法