成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#構造函數的特性及使用詳解

開發 后端
C#構造函數的特性有哪些呢?C#構造函數是編程人員面對最多的,那么C#構造函數的特性及使用有什么需要學習的呢?本文詳解了C#構造函數的特性及使用情況。

C#構造函數的特性及使用情況是如何的呢?下面我們分兩個部分來向你講解:

C#構造函數的特性一、

什么是C#構造函數?Construct,Function

C#構造函數是一種特殊的成員函數,它主要用于為對象分配存儲空間,對數據成員進行初始化.

C#構造函數具有一些特殊的性質:

(1)C#構造函數的名字必須與類同名;

(2)C#構造函數沒有返回類型,它可以帶參數,也可以不帶參數;

(3)聲明類對象時,系統自動調用構造函數,構造函數不能被顯式調用;

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

(5)若在聲明時未定義構造函數,系統會自動生成默認的構造函數,此時構造函數的函數體為空.

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

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

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

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

C#構造函數的特性之C#構造函數使用時注意事項:

1、定義了一個帶參構造函數后,最好定義一個無參構造函數,這樣可以避免子類調用時出錯

2、調用基類構造函數:base() 或 :base(參數列表)  調用本類其它構造函數 :this() 或 :this(參數列表)

3、只有在用base顯示調用父類的構造函數時,程序才不會默認的調用不帶參數的構造函數。

C#構造函數的特性二、

C#構造函數的結構層次關系或者說執行順序是怎樣的?Layer,Transfer,Execute

從基類開始構造對象。

  1. public class MyBaseClass  
  2. {  
  3. public MyBaseClass()  
  4. {  
  5. Console.WriteLine("In MyBaseClass()");  
  6. }  
  7. public MyBaseClass(int i)  
  8. {  
  9. Console.WriteLine("In MyBaseClass(int i)");  
  10. }  
  11. }  
  12. public class MyDerivedClass : MyBaseClass  
  13. {  
  14. public MyDerivedClass()  
  15. {  
  16. Console.WriteLine("In MyDerivedClass()");  
  17. }  
  18. public MyDerivedClass(int i)  
  19. {  
  20. Console.WriteLine("In MyDerivedClass(int i)");  
  21. }  
  22. //public MyDerivedClass(int i, int j)  
  23. //{  
  24. //Console.WriteLine("In MyDerivedClass(int i,int j)");  
  25. //}  
  26. public MyDerivedClass(int i, int j)  
  27. base(i)  
  28. {  
  29. Console.WriteLine("In MyDerivedClass(int i,int j):base(i)");  
  30. }  
  31. }  
  32. class Program  
  33. {  
  34. static void Main(string[] args)  
  35. {  
  36. //Event1  
  37. MyDerivedClass myObj1 = new MyDerivedClass();  
  38. Console.WriteLine();  
  39. //Event2  
  40. MyDerivedClass myObj2 = new MyDerivedClass(4);  
  41. Console.WriteLine();  
  42. //Event3  
  43. MyDerivedClass myObj3 = new MyDerivedClass(4,8);  
  44. Console.WriteLine();  
  45. Console.ReadKey();  
  46. }  

C#構造函數執行程序輸出:

  1. In MyBaseClass()  
  2.  
  3. In MyDerivedClass()  
  4.  
  5.  
  6. In MyBaseClass()  
  7.  
  8. In MyDerivedClass(int i)  
  9.  
  10.  
  11. In MyBaseClass(int i)  
  12.  
  13. In MyDerivedClass(int i,int j):base(i) 

很明顯,只有在用base顯示調用父類的構造函數時,程序才不會默認的調用不帶參數的構造函數。

C#構造函數的特性及使用就向你介紹到這里,希望對你理解和使用C#構造函數的特性有所幫助。

【編輯推薦】

  1. C#靜態構造函數特點淺析
  2. C#靜態構造函數學習心得淺析
  3. C#繼承構造函數實現淺析
  4. C#繼承與構造函數的調用實例演示
  5. C#調用構造函數淺析
責任編輯:仲衡 來源: javaeye
相關推薦

2009-08-13 13:42:54

C#構造函數

2009-08-28 17:01:43

C#構造函數

2009-07-31 14:15:38

C# 構造函數

2009-08-24 18:09:13

C#構造函數

2009-12-24 09:16:11

C#泛型

2009-08-13 18:36:36

C#繼承構造函數

2009-07-30 15:24:13

C#析構函數C#構造函數

2009-09-17 16:34:24

C#組件類

2009-08-13 17:38:42

C#構造函數

2009-07-31 15:44:02

C#靜態構造函數

2009-08-14 09:15:28

C#調用構造函數

2009-09-04 11:15:07

選擇C#構造函數

2009-07-31 15:37:45

C#靜態構造函數

2009-08-20 14:28:00

C#靜態構造函數

2024-05-17 08:42:52

AttributeMyClass方法

2009-08-14 09:58:09

C#復制構造函數

2024-07-10 08:31:59

C#特性代碼

2024-10-21 07:05:14

C#特性語言

2009-08-13 14:24:44

C#結構體構造函數

2009-08-14 09:43:59

C#復制構造函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 韩日精品视频 | 国内精品久久久久久久影视简单 | 欧美激情va永久在线播放 | 日韩一区二区三区在线 | 日韩成人在线免费观看 | 精品久久久久久久久久 | 欧美国产一区二区 | 先锋资源网站 | 91精品久久 | www.亚洲国产精品 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 国产精品1区2区 | 一区二区三区亚洲 | 欧美激情视频一区二区三区免费 | av网站在线免费观看 | 喷潮网站 | 操人视频在线观看 | 九九在线视频 | 亚洲精品白浆高清久久久久久 | 国产91九色 | 国产精品海角社区在线观看 | 成年人黄色一级毛片 | 精品久久国产老人久久综合 | 亚洲区一区二 | 91精品国产91综合久久蜜臀 | 国产精品亚洲一区二区三区在线 | 精品国产一区二区三区免费 | 日韩欧美二区 | 成人在线看片 | 台湾a级理论片在线观看 | 成人h动漫亚洲一区二区 | 国产精品中文字幕在线 | 欧美性网 | 午夜电影福利 | 色橹橹欧美在线观看视频高清 | 国产成人一区二区 | 精品在线一区 | 国产精品久久久精品 | 黄色免费在线观看网站 | 久久国产一区 | 欧美影院 |