父類、派生類、方法重寫、實例化後的執行順序

一、實例化派生類時,會先執行父類的構造函數,而後再執行派生類的構造函數ide

二、派生類重寫父類中的虛方法後,若是實例化派生類,引起的執行父類的構造函數中有此虛方法,那麼實際執行的是派生類中重寫的方法,而不是父類中的虛方法函數

例:spa

    public class A
    {
        public A()
        {
            Console.WriteLine("A類");
            fun();
        }
        public virtual void fun()
        {
            Console.WriteLine("父類中的方法");
        }
    }
    public class B:A
    {
        public B()
        {
            Console.WriteLine("B類");
        }
        public override void fun()
        {
            Console.WriteLine("派生類中的方法");
        }
    }

對B進行實例化: B a = new B();
code

相關文章
相關標籤/搜索