例子:在派生类中使用base关键字
1、父类
using System;
public class FatherClass
{
private int a;
public FatherClass()
{
Console.WriteLine("构造函数FatherClass():{0}",a);
//构造函数重载
public FatherClass(int a)
{
this.a=a;
Console.WriteLine("构造函数重载FatherClass(int a):{0}",a);
}
}
2、子类
public class SonClass:FatherClass
{
public static int a=32;
public SonClass():base(a);
{
Console.WriteLine("构造函数SonClass():{0}",a);
}
public SonClass(int b):base()
{
Console.WriteLine("构造函数SonClass(int b):{0}",a);
}
}
3、应用程序类
public class App
{
public static void Main()
{
SonClass s1=new SonClass();
SonClass s2=new SonClass(88);
}
}
4、程序运行结果
构造函数重载FatherClass(int a):32
构造函数SonClass():32
构造函数FatherClass():0
构造函数SonClass(int b):88
说明:1》从结果可以看出构造函数的执行顺序是:先执行基类的构造函数 然后执行派生类的构造函数。
2》派生类构造函数中的参数有无并不决定继承基类的哪个构造函数,这是通过base()中有无参数决定调用基类的哪个构造函数。
3》应用程序类 创建子类对象时可以带参数 参数的类型决定调用子类的哪个构造函数。