国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中派生類調用基類構造函數用法分析

2020-01-24 01:57:16
字體:
來源:轉載
供稿:網友

本文實例講述了C#中派生類調用基類構造函數用法。分享給大家供大家參考。具體分析如下:

這里的默認構造函數是指在沒有編寫構造函數的情況下系統默認的無參構造函數

1、當基類中沒有自己編寫構造函數時,派生類默認的調用基類的默認構造函數
例如:

public class MyBaseClass{}public class MyDerivedClass : MyBaseClass{  public MyDerivedClass()  {   Console.WriteLine("我是子類無參構造函數");  }  public MyDerivedClass(int i)  {   Console.WriteLine("我是子類帶一個參數的構造函數");  }  public MyDerivedClass(int i, int j)  {   Console.WriteLine("我是子類帶二個參數的構造函數");  }}

此時實例化派生類時,調用基類默認構造函數

2、當基類中編寫構造函數時,派生類沒有指定調用構造哪個構造函數時,會尋找無參的構造函數,如果沒有則報錯,另外無論調用派生類中的哪個構造函數都是尋找無參的那個基類構造函數,而非參數匹配。
例如:

public class MyBaseClass{  public MyBaseClass(int i)  {   Console.WriteLine("我是基類帶一個參數的構造函數");  } } public class MyDerivedClass : MyBaseClass {  public MyDerivedClass()  {   Console.WriteLine("我是子類無參構造函數");  }  public MyDerivedClass(int i)  {   Console.WriteLine("我是子類帶一個參數的構造函數");  }  public MyDerivedClass(int i, int j)  {   Console.WriteLine("我是子類帶二個參數的構造函數");  }}

此時實例化派生類時則報錯

3、基類中編寫了構造函數,則派生類中可以指定調用基類的某個構造函數,使用base關鍵字。
例如

 public class MyBaseClass {  public MyBaseClass(int i)  {   Console.WriteLine("我是基類帶一個參數的構造函數");  } } public class MyDerivedClass : MyBaseClass {  public MyDerivedClass() : base(i)  {   Console.WriteLine("我是子類無參構造函數");  }  public MyDerivedClass(int i) : base(i)  {   Console.WriteLine("我是子類帶一個參數的構造函數");  }  public MyDerivedClass(int i, int j) : base(i)  {   Console.WriteLine("我是子類帶二個參數的構造函數");  } }

此時實例化派生類時使用的帶一個參數的構造函數時,則不會報錯,因為他指定了基類的構造函數。

4、如果基類中的構造函數不含有無參構造函數,那么派生類中的構造函數必須全部指定調用的基類構造函數,否則出錯
例如

 public class MyBaseClass {  public MyBaseClass(int i)  {   Console.WriteLine("我是基類帶一個參數的構造函數");  } } public class MyDerivedClass : MyBaseClass {  public MyDerivedClass()  {   Console.WriteLine("我是子類無參構造函數");  }  public MyDerivedClass(int i) : base(i)  {   Console.WriteLine("我是子類帶一個參數的構造函數");  }  public MyDerivedClass(int i, int j)  {   Console.WriteLine("我是子類帶二個參數的構造函數");  }}

此時編譯將不能通過

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 白城市| 儋州市| 布尔津县| 克东县| 镇远县| 乌兰察布市| 抚州市| 满城县| 米林县| 湄潭县| 临湘市| 齐齐哈尔市| 江山市| 周至县| 紫云| 栾城县| 湖州市| 安吉县| 峨山| 革吉县| 浏阳市| 寿光市| 西峡县| 鄂托克旗| 凌源市| 韩城市| 治多县| 临武县| 栾城县| 肃宁县| 甘洛县| 华阴市| 呈贡县| 沁源县| 达拉特旗| 彰化市| 化德县| 泊头市| 八宿县| 长乐市| 丹寨县|