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

C#繼承構造函數實現淺析

開發 后端
C#繼承構造函數是什么呢?C#繼承構造函數存在的意義是什么呀?那么本文就向你介紹這方面的內容。

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

C#繼承構造函數的示例:

  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("測試類A無參數構造方法");   
  12. Console.WriteLine(testA1.ToString());   
  13. Console.WriteLine();   
  14.  
  15. TestA testA2 = new TestA("Set First Param");   
  16. Console.WriteLine("測試類A一個參數構造方法");   
  17. Console.WriteLine(testA2.ToString());   
  18. Console.WriteLine();   
  19.  
  20. TestB testB1= new TestB();   
  21. Console.WriteLine("測試類B無參數構造方法");   
  22. Console.WriteLine(testB1.ToString());   
  23. Console.WriteLine();   
  24.  
  25. TestB testB2 = new TestB("Set First Param");   
  26. Console.WriteLine("測試類B一個參數構造方法");   
  27. Console.WriteLine(testB2.ToString());   
  28. Console.WriteLine();   
  29.  
  30. TestB testB3 = new TestB("Set First Param""Set Second Param");   
  31. Console.WriteLine("測試類B兩個參數構造方法");   
  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("測試類B三個參數構造方法");   
  38. Console.WriteLine(testB4.ToString());   
  39. Console.WriteLine();   
  40.  
  41. Console.ReadLine();   
  42.  
  43. }   
  44.  
  45. }   
  46. /// <summary>   
  47. /// 測試類A---C#繼承構造函數   
  48. /// </summary>   
  49. class TestA   
  50. {   
  51. protected string _testValueA;   
  52.  
  53. /// <summary>   
  54. /// 無參數構造方法 --C#繼承構造函數  
  55. /// </summary>   
  56. public TestA():this("Set First Param")   
  57. {   
  58.  
  59. }   
  60.  
  61. /// <summary>   
  62. /// 一個參數構造方法 --C#繼承構造函數  
  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. /// 測試類TestB,從TestA類中繼承---C#繼承構造函數   
  82. /// </summary>   
  83. class TestB : TestA   
  84. {   
  85. protected string _testValueB;   
  86. protected string _testValueC;   
  87. /// <summary>   
  88. /// 調用父類中的構造方法   
  89. /// </summary>   
  90. public TestB():base()   
  91. {   
  92. this._testValueB = "Set Second Param";   
  93. this._testValueC = "Set Third Param";   
  94. }   
  95. /// <summary>   
  96. /// 調用父類中的構造方法--C#繼承構造函數   
  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. /// 調用其他構造方法---C#繼承構造函數   
  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. /// 三個參數的構造方法   
  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#繼承構造函數  
  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#繼承構造函數示例輸出結果:

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

C#繼承構造函數的基本情況就向你介紹到這里,希望對你學習和了解C#繼承構造函數有所幫助。

【編輯推薦】

  1. C#構造函數與C++的區別淺析
  2. C#構造函數的運用淺析
  3. 學習C#構造函數的一點體會
  4. C#靜態構造函數特點淺析
  5. C#靜態構造函數學習心得淺析
責任編輯:仲衡 來源: 中國自學編程網
相關推薦

2009-08-13 18:36:36

C#繼承構造函數

2009-07-31 15:44:02

C#靜態構造函數

2009-08-14 09:15:28

C#調用構造函數

2009-08-13 17:38:42

C#構造函數

2009-09-18 09:02:45

CLR Via C#

2009-08-13 18:02:11

C#靜態構造函數

2009-08-14 09:50:46

C#復制構造函數

2009-08-14 09:43:59

C#復制構造函數

2009-08-14 09:58:09

C#復制構造函數

2009-08-13 13:42:54

C#構造函數

2009-09-07 05:24:22

C#窗體繼承

2009-08-13 17:30:30

C#構造函數

2009-08-13 18:10:31

C#靜態構造函數

2009-08-13 18:26:35

C#繼承構造函數

2009-08-10 14:43:03

C#函數Convert

2009-07-31 16:00:30

C#函數重載

2009-08-24 13:41:23

C# 泛型約束

2009-07-31 14:03:21

C# Format函數

2011-06-11 21:36:44

C#C++

2009-07-31 14:15:38

C# 構造函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 97免费在线观看视频 | 精品三区| 日韩中文字幕在线观看 | 国产有码| 日本免费小视频 | 精品久久久一区 | 这里只有精品999 | 免费大黄视频 | 成人在线h | 亚洲精品日韩在线观看 | 国产aⅴ | 成人在线免费观看 | 自拍 亚洲 欧美 老师 丝袜 | 91超碰在线观看 | 毛片网站免费观看 | 高清av在线 | 99热在线播放 | 久久精品一级 | 精品国产乱码久久久久久闺蜜 | 成在线人视频免费视频 | 一区二区三区视频在线免费观看 | 成人性视频在线播放 | 成人欧美一区二区三区黑人孕妇 | 一区二区免费视频 | 精品中文字幕视频 | 国产色在线 | 国产精品毛片无码 | 视频一区二区中文字幕 | 成人免费在线 | 国产精品久久久久久久久动漫 | 久久亚洲精品视频 | 日韩欧美在线一区 | 久久成人精品视频 | www.国产视频| 亚洲欧洲小视频 | 99re6在线| 91xxx在线观看 | 国产一区二区麻豆 | 操人视频在线观看 | 国产一区二区三区四区 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 |