[C#] 父子類別內屬性與建構式的執行先後順序(Execution order of parent class and subclass)

  • 993
  • 0
  • C#
  • 2017-07-31

當一個子類別(sub class)繼承一個父類別(parent class)

兩個類別內部皆各有一個屬性(property)、建構式(constructor)

當我們新建一個「子類別的物件」時

則其被執行的先後順序分別為何?

現在就讓我們藉由這篇文章一探究竟

開發環境

  • Visual Studio 2013

 

首先,新增一個Console Application (主控台應用程式)

此範例中將該專案名稱命名為「ConsoleApplication1」

接著如下圖所示

Program.cs 輸入以下程式碼

如圖所示,在 Line 10 設定中斷點(breakpoint)

在Visual Studio 2013 開發環境 按下 F11 進入偵錯模式

接著可以發現此程式如下圖的順序執行

 

Program.cs

 

結論

由以上結果得知,當我們新建一個「子類別的物件」時

執行順序為:   子類別屬性 → 父類別屬性 → 父類別建構式 → 子類別建構式

 

如果這篇文章有幫助到你,想支持一下作者可以幫忙點擊側欄的「 Goolgle AdSense 」廣告 😄

如果你喜歡這篇文章可以點擊「分享」按鈕,來分享到你的網路社群
(以上文章內容如有謬誤,敬請不吝指教)