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

首頁 > 編程 > C# > 正文

C#中私有構(gòu)造函數(shù)的特點和用途實例解析

2020-01-24 02:32:18
字體:
供稿:網(wǎng)友

本文以實例形式分析私有構(gòu)造函數(shù)的特點,以及在何種情況下使用私有構(gòu)造函數(shù)。相信對于大家更好的理解C#中的私有構(gòu)造函數(shù)有一定的促進(jìn)作用。具體如下:

一、帶私有構(gòu)造函數(shù)的類不能被繼承

在Animal類中聲明一個私有構(gòu)造函數(shù),讓Dog類來繼承Animal類。

  public class Animal  {    private Animal()    {      Console.WriteLine("i am animal");    }  }  public class Dog : Animal  {      }

運行程序,生成解決方案,報錯如下圖所示:

二、帶私有構(gòu)造函數(shù)的類不能被實例化

運行如下測試代碼:

  class Program  {    static void Main(string[] args)    {      Animal animal = new Animal();    }  }  public class Animal  {    private Animal()    {      Console.WriteLine("i am animal");    }  }

程序運行后生成解決方案,報錯如下圖所示:

三、私有構(gòu)造函數(shù)的應(yīng)用

有些時候,我們不希望一個類被過多地被實例化,比如有關(guān)全局的類、路由類等。這時候,我們可以為類設(shè)置構(gòu)造函數(shù)并提供靜態(tài)方法。

  class Program  {    static void Main(string[] args)    {      string str = Animal.GetMsg();      Console.WriteLine(str);      Console.ReadKey();    }  }  public class Animal  {    private Animal()    {      Console.WriteLine("i am animal");    }    public static string GetMsg()    {      return "Hello World";    }  }

總結(jié):一旦一個類被設(shè)置成私有構(gòu)造函數(shù),就不能被繼承,不能被實例化,這種情況下,通常為類提供靜態(tài)方法以供調(diào)用。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 扎鲁特旗| 崇信县| 安乡县| 石家庄市| 揭阳市| 衡山县| 广昌县| 准格尔旗| 旺苍县| 富裕县| 贺兰县| 崇阳县| 通许县| 苗栗县| 阿拉善左旗| 龙井市| 文登市| 西丰县| 万荣县| 苏尼特右旗| 民勤县| 罗甸县| 始兴县| 宿州市| 福泉市| 南郑县| 曲阜市| 江口县| 宣化县| 神池县| 鸡泽县| 凤阳县| 搜索| 句容市| 阿城市| 思茅市| 深州市| 漳平市| 罗平县| 清镇市| 新乐市|