一段代码如下:
public class ClassA {
public ClassA() { }
public virtual void FunA() {}
public virtual void FunB() {}
}
public class ClassB {
public ClassB() { }
public override void FunA() {}
public override void FunB() {}
}
public class ClassC {
public ClassC() { }
public override void FunA() {}
public override void FunB() {}
}
public class ClassD {
public ClassD() { }
public override void FunA() {}
public override void FunB() {}
}
ClassD instance = new ClassD();
怎么写可以在new ClassD时,按照
ClassA.FunA
ClassB.FunA
ClassC.FunA
ClassD.FunA
ClassA.FunB
ClassB.FunB
ClassC.FunB
ClassD.FunB
的次序执行,在new ClassC时,按照
ClassA.FunA
ClassB.FunA
ClassC.FunA
ClassA.FunB
ClassB.FunB
ClassC.FunB
的次序执行,在new ClassB时,按照
ClassA.FunA
ClassB.FunA
ClassA.FunB
ClassB.FunB
的次序执行?
每个override的函数里写一句base.FunA()或者base.FunB()再写自己的逻辑就好了吧?
连个继承都没有,咋执行。。。
ABCD之间根本就灭有关系啊。。。