C#中关于继承的先后执行顺序!
学过之后再返回来看时发现了很多的问题!想了一会不敢确定上网来寻求一下帮助,高分回报!
我的问题是:
1.C#中子类继承父类之后,那么在执行时是先执行子类还是父类?(我想是父类,但不敢确定。)
2.在创建子类对象后,调用子类的方法执行子类方法时,首先执行的是不是父类,执行父类时是不是首先执行父类的构造函数?(我想是。)
3.请各位大侠帮忙分析一下这段代码执行的先后顺序:
//父类
public abstract class A{
public A()
{
Console.write("A");
}
public virtual void Fun()
{
Console.write("A.Fun()");
}
}
//子类
public class B:A{
public B()
{
Console.write("B");
}
public virtual void Fun()
{
Console.write("B.Fun()");
}
}
//运行程序
public static void Main()
{
A a = new B();
a.Fun();
}
最好能说一下它在操作系统的底层是怎么运转的,谢谢各位大侠!