自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#構(gòu)造函數(shù)及其的結(jié)構(gòu)層次關(guān)系說明

開發(fā) 后端
C#構(gòu)造函數(shù)是一種特殊的成員函數(shù),它主要用于為對象分配存儲空間,對數(shù)據(jù)成員進行初始化.本文將向您詳細介紹C#構(gòu)造函數(shù)及其的結(jié)構(gòu)層次關(guān)系。

一、C#構(gòu)造函數(shù) Construct,Function

構(gòu)造函數(shù)是一種特殊的成員函數(shù),它主要用于為對象分配存儲空間,對數(shù)據(jù)成員進行初始化.

構(gòu)造函數(shù)具有一些特殊的性質(zhì):

(1)構(gòu)造函數(shù)的名字必須與類同名;

(2)構(gòu)造函數(shù)沒有返回類型,它可以帶參數(shù),也可以不帶參數(shù);

(3)聲明類對象時,系統(tǒng)自動調(diào)用構(gòu)造函數(shù),構(gòu)造函數(shù)不能被顯式調(diào)用;

(4)構(gòu)造函數(shù)可以重載,從而提供初始化類對象的不同方法;

(5)若在聲明時未定義構(gòu)造函數(shù),系統(tǒng)會自動生成默認(rèn)的構(gòu)造函數(shù),此時構(gòu)造函數(shù)的函數(shù)體為空.

(6)靜態(tài)構(gòu)造函數(shù),用static修飾,用于初始化靜態(tài)變量,一個類只允許有一個構(gòu)造函數(shù),在類實例化時加載,這時修飾符public、private失去作用.

(7)可以使用public、protected、private修飾符。.

(8)引用父類構(gòu)造時用():base()方法,引用自身重載的構(gòu)造使用():this(int para).

(7)可以使用public、protected、private修飾符。

二、C#構(gòu)造函數(shù)的結(jié)構(gòu)層次關(guān)系或者說執(zhí)行順序是怎樣的?Layer,Transfer,Execute

從基類開始構(gòu)造對象。

  1. publicclassMyBaseClass  
  2. {  
  3. publicMyBaseClass()  
  4. {  
  5. Console.WriteLine("InMyBaseClass()");  
  6. }  
  7. publicMyBaseClass(inti)  
  8. {  
  9. Console.WriteLine("InMyBaseClass(inti)");  
  10. }  
  11. }  
  12. publicclassMyDerivedClass:MyBaseClass  
  13. {  
  14. publicMyDerivedClass()  
  15. {  
  16. Console.WriteLine("InMyDerivedClass()");  
  17. }  
  18. publicMyDerivedClass(inti)  
  19. {  
  20. Console.WriteLine("InMyDerivedClass(inti)");  
  21. }  
  22. //publicMyDerivedClass(inti,intj)  
  23. //{  
  24. //Console.WriteLine("InMyDerivedClass(inti,intj)");  
  25. //}  
  26. publicMyDerivedClass(inti,intj)  
  27. :base(i)  
  28. {  
  29. Console.WriteLine("InMyDerivedClass(inti,intj):base(i)");  
  30. }  
  31. }  
  32. classProgram  
  33. {  
  34. staticvoidMain(string[]args)  
  35. {  
  36. //Event1  
  37. MyDerivedClassmyObj1=newMyDerivedClass();  
  38. Console.WriteLine();  
  39. //Event2  
  40. MyDerivedClassmyObj2=newMyDerivedClass(4);  
  41. Console.WriteLine();  
  42. //Event3  
  43. MyDerivedClassmyObj3=newMyDerivedClass(4,8);  
  44. Console.WriteLine();  
  45. Console.ReadKey();  
  46. }  
  47. }  
  48.  
  49. 程序輸出:  
  50.  
  51. InMyBaseClass()  
  52.  
  53. InMyDerivedClass()  
  54.  
  55. InMyBaseClass()  
  56.  
  57. InMyDerivedClass(inti)  
  58.  
  59. InMyBaseClass(inti)  
  60.  
  61. InMyDerivedClass(inti,intj):base(i)  

很明顯,只有在用base顯示調(diào)用父類的構(gòu)造函數(shù)時,程序才不會默認(rèn)的調(diào)用不帶參數(shù)的構(gòu)造函數(shù)。

【編輯推薦】

  1. C# WebService發(fā)布與調(diào)用淺析
  2. 簡明教程 C# Webservice實例
  3. C#中定義裝箱和拆箱詳解
  4. 淺談C#類型系統(tǒng)
  5. 三種不同的C#異常類型
責(zé)任編輯:冰荷 來源: xsrss
相關(guān)推薦

2010-01-12 10:21:42

C++語言

2009-08-13 14:24:44

C#結(jié)構(gòu)體構(gòu)造函數(shù)

2009-08-13 14:36:40

C#結(jié)構(gòu)體構(gòu)造函數(shù)

2009-07-31 14:15:38

C# 構(gòu)造函數(shù)

2009-08-24 18:09:13

C#構(gòu)造函數(shù)

2009-07-30 15:24:13

C#析構(gòu)函數(shù)C#構(gòu)造函數(shù)

2009-08-13 17:38:42

C#構(gòu)造函數(shù)

2009-07-31 15:37:45

C#靜態(tài)構(gòu)造函數(shù)

2009-09-04 11:15:07

選擇C#構(gòu)造函數(shù)

2009-08-20 14:28:00

C#靜態(tài)構(gòu)造函數(shù)

2009-08-14 09:15:28

C#調(diào)用構(gòu)造函數(shù)

2009-07-31 15:44:02

C#靜態(tài)構(gòu)造函數(shù)

2009-08-27 16:18:47

C#類C#結(jié)構(gòu)體

2009-08-14 17:24:28

C#構(gòu)造函數(shù)和析構(gòu)函數(shù)

2009-08-14 09:43:59

C#復(fù)制構(gòu)造函數(shù)

2009-08-14 09:58:09

C#復(fù)制構(gòu)造函數(shù)

2009-08-13 17:30:30

C#構(gòu)造函數(shù)

2009-08-13 18:15:06

C#繼承構(gòu)造函數(shù)

2009-09-18 09:02:45

CLR Via C#

2009-08-13 18:02:11

C#靜態(tài)構(gòu)造函數(shù)
點贊
收藏

51CTO技術(shù)棧公眾號