2.继承层次链中的每个类在执行它自己的构造函数体之前执行它的基类构造函数
示例:
class MyBaseClass
{
public MyBaseClass()
{
Console.WriteLine("MyBaseClass");
Print();
}
public MyBaseClass(string args)
{
Console.WriteLine("MyBaseClass" + args);
}
public virtual void Print()
{
Console.WriteLine("MyBaseClass Print");
}
}
class MyDerivedClass : MyBaseClass
{
public MyDerivedClass()
{
Console.WriteLine("MyDerivedClass");
Print();
}
public MyDerivedClass(string args)
{
Console.WriteLine("MyDerivedClass" + args);
}
public override void Print()
{
Console.WriteLine("MyDerivedClass Print");
}
}
class MySencordClass : MyDerivedClass
{
public MySencordClass()
{
Console.WriteLine("MySencordClass");
}
public MySencordClass(string args):base(args)
{
Console.WriteLine("MySencordClass" + args);
}
public override void Print()
{
Console.WriteLine("MySencordClass Print");
}
}
class Program
{
static void Main(string[] args)
{
string name = "张三";
MySencordClass mySencordClass = new MySencordClass(name);
Console.ReadKey();
}
}