C#繼承構造函數實現及調用淺析
作者:佚名
C#繼承構造函數的實現和調用經常是面試時會碰到的問題,那么本文就向你介紹C#繼承構造函數的具體實現和調用情況。
C#類的繼承,構造函數實現及其調用順序
類層層派生,在實例化的時候構造函數的調用順序是怎樣的? --從頂層基類開始向子類方向順序調用無參構造.
默認構造(無參構造)和帶參構造什么時候調用?--默認將從頂層父類的默認構造一直調用到當前類的默認構造.
下面是C#繼承構造函數實現及調用示例:
- /**//*--===------------------------------------------===---
- 作者:許明會
- 日期:類的派生和構造函數間的關系,調用層次及實現
- 日期:2009年7月18日 17:30:43
- 若希望類能夠有派生類,必須為其實現默認構造函數.
- 若類沒有實現帶參構造,編譯器將自動創建默認構造函數.
- 若類實現了帶參構造,則編譯器不會自動生成默認構造.
- --===------------------------------------------===---*/
- using System; //C#繼承構造函數實現及調用
- namespace xumh
- {
- public class MyClass
- {
- public MyClass()
- {
- Console.WriteLine("MyClass:默認構造函數");
- }
- public MyClass(int a, int b)
- {
- Console.WriteLine("MyClass帶參構造:a={0}, b={1}.", a, b);
- }
- }
- public class MyClass2 : MyClass
- {
- public MyClass2()
- {
- Console.WriteLine("MyClass2:默認構造函數");
- }
- public MyClass2(int a, int b)
- {
- Console.WriteLine("MyClass2帶參構造:a={0}, b={1}.", a, b);
- }
- }
- //C#繼承構造函數實現及調用
- public class MyClass3 : MyClass2
- {
- public MyClass3()
- {
- Console.WriteLine("MyClass3:默認構造函數");
- }
- public MyClass3(int a, int b)
- {
- Console.WriteLine("MyClass3帶參構造:a={0}, b={1}.", a, b);
- }
- }
- public class runMyApp
- {
- static void Main()
- {
- MyClass3 my = new MyClass3(3,4);
- }
- }
- } //C#繼承構造函數實現及調用
- /**//*--===------------------------------------------===---
- 輸出如下:
- MyClass:默認構造函數
- MyClass2:默認構造函數
- MyClass3帶參構造:a=3, b=4.
- --===------------------------------------------===---*/
C#繼承構造函數實現及調用的基本情況就向你介紹到這里,希望對你學習了解C#繼承構造函數實現及調用有所幫助。
【編輯推薦】
責任編輯:仲衡
來源:
百度空間