成人免费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 18:02:11

C#靜態構造函數

2009-09-18 09:02:45

CLR Via C#

2009-08-13 17:38:42

C#構造函數

2009-08-14 09:50:46

C#復制構造函數

2009-08-14 09:58:09

C#復制構造函數

2009-08-13 13:42:54

C#構造函數

2009-08-14 09:43:59

C#復制構造函數

2009-08-13 17:30:30

C#構造函數

2009-09-07 05:24:22

C#窗體繼承

2009-08-13 18:10:31

C#靜態構造函數

2009-08-13 18:26:35

C#繼承構造函數

2009-07-31 14:03:21

C# Format函數

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:15:38

C# 構造函數

2009-08-24 18:09:13

C#構造函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产视频福利一区 | 国外成人在线视频网站 | 欧美xxxⅹ性欧美大片 | 国产乱码精品一品二品 | 黄色成人av| 午夜爱爱毛片xxxx视频免费看 | 亚洲精品第一国产综合野 | 成人a视频片观看免费 | 老司机深夜福利网站 | 91影院在线观看 | 狠狠爱网址| 日本一区二区三区四区 | 呦呦在线视频 | 色综合久久天天综合网 | 99国产精品久久久 | 综合国产第二页 | 久久久国产一区 | 亚洲精品视频一区 | 超碰精品在线观看 | 九九久久精品视频 | 欧美一级毛片免费观看 | 国产二区视频 | 久久不卡 | 亚洲成av人片在线观看 | 日本一道本视频 | 欧美日韩在线观看一区 | 免费久久网 | 国产探花在线精品一区二区 | 日韩一区二区黄色片 | 天天曰天天干 | 精品国产18久久久久久二百 | 欧美爱爱视频 | 日韩一区二区免费视频 | 精品在线免费观看视频 | 色婷婷亚洲一区二区三区 | 国产精品一二三区 | 国产精品一区二区在线 | 91九色网站 | 日韩高清黄色 | 日日干夜夜操天天操 | 欧美 中文字幕 |