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

C#繼承構(gòu)造函數(shù)實(shí)現(xiàn)淺析

開發(fā) 后端
C#繼承構(gòu)造函數(shù)是什么呢?C#繼承構(gòu)造函數(shù)存在的意義是什么呀?那么本文就向你介紹這方面的內(nèi)容。

C#繼承構(gòu)造函數(shù)存在的意義:大家都知道C#構(gòu)造函數(shù)主要用來設(shè)置類中屬性的初始值,但經(jīng)常會(huì)忽視類的構(gòu)造方法也可以象方法一樣引用調(diào)用父類中的構(gòu)造方法或本身的其他構(gòu)造方法。往往因此寫了很多重復(fù)代碼。下面的代碼介紹了類的構(gòu)造方法的幾種用法。

C#繼承構(gòu)造函數(shù)的示例:

  1. using System;   
  2.  
  3. namespace TestApplication   
  4. {   
  5. class Test   
  6. {   
  7. static void Main(string[] args)   
  8. {   
  9.  
  10. TestA testA1 = new TestA();   
  11. Console.WriteLine("測(cè)試類A無參數(shù)構(gòu)造方法");   
  12. Console.WriteLine(testA1.ToString());   
  13. Console.WriteLine();   
  14.  
  15. TestA testA2 = new TestA("Set First Param");   
  16. Console.WriteLine("測(cè)試類A一個(gè)參數(shù)構(gòu)造方法");   
  17. Console.WriteLine(testA2.ToString());   
  18. Console.WriteLine();   
  19.  
  20. TestB testB1= new TestB();   
  21. Console.WriteLine("測(cè)試類B無參數(shù)構(gòu)造方法");   
  22. Console.WriteLine(testB1.ToString());   
  23. Console.WriteLine();   
  24.  
  25. TestB testB2 = new TestB("Set First Param");   
  26. Console.WriteLine("測(cè)試類B一個(gè)參數(shù)構(gòu)造方法");   
  27. Console.WriteLine(testB2.ToString());   
  28. Console.WriteLine();   
  29.  
  30. TestB testB3 = new TestB("Set First Param""Set Second Param");   
  31. Console.WriteLine("測(cè)試類B兩個(gè)參數(shù)構(gòu)造方法");   
  32. Console.WriteLine(testB3.ToString());   
  33. Console.WriteLine();   
  34.  
  35. TestB testB4 = new TestB("Set First Param",   
  36. "Set Second Param""Set Third Param");   
  37. Console.WriteLine("測(cè)試類B三個(gè)參數(shù)構(gòu)造方法");   
  38. Console.WriteLine(testB4.ToString());   
  39. Console.WriteLine();   
  40.  
  41. Console.ReadLine();   
  42.  
  43. }   
  44.  
  45. }   
  46. /// <summary>   
  47. /// 測(cè)試類A---C#繼承構(gòu)造函數(shù)   
  48. /// </summary>   
  49. class TestA   
  50. {   
  51. protected string _testValueA;   
  52.  
  53. /// <summary>   
  54. /// 無參數(shù)構(gòu)造方法 --C#繼承構(gòu)造函數(shù)  
  55. /// </summary>   
  56. public TestA():this("Set First Param")   
  57. {   
  58.  
  59. }   
  60.  
  61. /// <summary>   
  62. /// 一個(gè)參數(shù)構(gòu)造方法 --C#繼承構(gòu)造函數(shù)  
  63. /// </summary>   
  64. /// <param name="value"></param>   
  65. public TestA(string value)   
  66. {   
  67. _testValueA = value;   
  68. }   
  69.  
  70. /// <summary>   
  71. /// 重新ToString方法   
  72. /// </summary>   
  73. /// <returns></returns>   
  74. public override string ToString()   
  75. {   
  76. return this._testValueA;   
  77. }   
  78. }   
  79.  
  80. /// <summary>   
  81. /// 測(cè)試類TestB,從TestA類中繼承---C#繼承構(gòu)造函數(shù)   
  82. /// </summary>   
  83. class TestB : TestA   
  84. {   
  85. protected string _testValueB;   
  86. protected string _testValueC;   
  87. /// <summary>   
  88. /// 調(diào)用父類中的構(gòu)造方法   
  89. /// </summary>   
  90. public TestB():base()   
  91. {   
  92. this._testValueB = "Set Second Param";   
  93. this._testValueC = "Set Third Param";   
  94. }   
  95. /// <summary>   
  96. /// 調(diào)用父類中的構(gòu)造方法--C#繼承構(gòu)造函數(shù)   
  97. /// </summary>   
  98. /// <param name="valueA"></param>   
  99. public TestB(string valueA)   
  100. base(valueA)   
  101. {   
  102. this._testValueB = "Set Second Param";   
  103. this._testValueC = "Set Third Param";   
  104. }   
  105.  
  106. /// <summary>   
  107. /// 調(diào)用其他構(gòu)造方法---C#繼承構(gòu)造函數(shù)   
  108. /// </summary>   
  109. /// <param name="valueA"></param>   
  110. /// <param name="valueB"></param>   
  111. public TestB(string valueA, string valueB)   
  112. this(valueA, valueB, "Set Third Param")   
  113. {   
  114.  
  115. }   
  116. /// <summary>   
  117. /// 三個(gè)參數(shù)的構(gòu)造方法   
  118. /// </summary>   
  119. /// <param name="valueA"></param>   
  120. /// <param name="valueB"></param>   
  121. /// <param name="valueC"></param>   
  122. public TestB(string valueA, string valueB, string valueC)   
  123. {   
  124. this._testValueA = valueA;   
  125. this._testValueB = valueB;   
  126. this._testValueC = valueC;   
  127. }   
  128.  
  129. /// <summary>   
  130. /// 重新ToString方法 --C#繼承構(gòu)造函數(shù)  
  131. /// </summary>   
  132. /// <returns></returns>   
  133. public override string ToString()   
  134. {   
  135. return this._testValueA + "\n" + this._testValueB + "\n" + this._testValueC ;   
  136. }   
  137. }   
  138. }  

C#繼承構(gòu)造函數(shù)示例輸出結(jié)果:

  1. 測(cè)試類A無參數(shù)構(gòu)造方法   
  2. Set First Param   
  3.  
  4. 測(cè)試類A一個(gè)參數(shù)構(gòu)造方法   
  5. Set First Param   
  6.  
  7. 測(cè)試類B無參數(shù)構(gòu)造方法   
  8. Set First Param   
  9.  
  10. Set Second Param   
  11. Set Third Param   
  12.  
  13. 測(cè)試類B一個(gè)參數(shù)構(gòu)造方法   
  14. Set First Param   
  15.  
  16. Set Second Param   
  17. Set Third Param   
  18.  
  19. 測(cè)試類B兩個(gè)參數(shù)構(gòu)造方法   
  20.  
  21. Set First Param   
  22.  
  23. Set Second Param   
  24. Set Third Param   
  25.  
  26. 測(cè)試類B三個(gè)參數(shù)構(gòu)造方法   
  27. Set First Param   
  28.  
  29. Set Second Param   
  30. Set Third Param  

C#繼承構(gòu)造函數(shù)的基本情況就向你介紹到這里,希望對(duì)你學(xué)習(xí)和了解C#繼承構(gòu)造函數(shù)有所幫助。

【編輯推薦】

  1. C#構(gòu)造函數(shù)與C++的區(qū)別淺析
  2. C#構(gòu)造函數(shù)的運(yùn)用淺析
  3. 學(xué)習(xí)C#構(gòu)造函數(shù)的一點(diǎn)體會(huì)
  4. C#靜態(tài)構(gòu)造函數(shù)特點(diǎn)淺析
  5. C#靜態(tài)構(gòu)造函數(shù)學(xué)習(xí)心得淺析
責(zé)任編輯:仲衡 來源: 中國(guó)自學(xué)編程網(wǎng)
相關(guān)推薦

2009-08-13 18:36:36

C#繼承構(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-09-18 09:02:45

CLR Via C#

2009-08-13 18:02:11

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

2009-08-13 17:38:42

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

2009-08-14 09:50:46

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

2009-08-14 09:58:09

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

2009-08-13 13:42:54

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

2009-08-14 09:43:59

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

2009-08-13 17:30:30

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

2009-09-07 05:24:22

C#窗體繼承

2009-08-13 18:10:31

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

2009-08-13 18:26:35

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

2009-07-31 14:03:21

C# Format函數(shù)

2009-07-31 14:15:38

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

2009-08-24 18:09:13

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

2009-08-24 13:41:23

C# 泛型約束

2009-08-10 14:43:03

C#函數(shù)Convert

2009-07-31 16:00:30

C#函數(shù)重載
點(diǎn)贊
收藏

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