c# 繼承派生類的預設建構函式的初始化次序

wisdomone1發表於2012-03-18

//基類

namespace ConsoleApplication1
{
    public class Class1
    {
        public Class1()
        {
            Console.WriteLine("基類class1的建構函式");
        }
    }
}

 

//二級基類

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    public class Subclass1:Class1
    {
        public Subclass1()
        {
         Console.WriteLine("派生類subclass1的建構函式");
        }
       
      
    }
}

 

//派生類

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Small:Subclass1
    {
        public Small()
        {
            Console.WriteLine("派生類small的建構函式");
        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;//arraylist派生於array類

//呼叫

namespace ConsoleApplication1
{
    class Program
    {
       //學習多型性
      public static void Main(string[] args)
      {
         //測試繼承情況下自派生類建構函式到基類建構函式的初始化過程
          //經測試,在未指定基類的建構函式(未透過指定base指定),在初始化是自最基層的基類建構函式進行初始化,因為是自基類然後才一點點有了更具體的派生類
          Small s1 = new Small();
          Console.ReadKey();
      }
    }
   
}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-718877/,如需轉載,請註明出處,否則將追究法律責任。

相關文章