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

首頁 > 學院 > 開發設計 > 正文

ASP.NET私有構造函數作用

2019-11-17 01:51:20
字體:
來源:轉載
供稿:網友

asp.net私有構造函數作用

一、私有構造函數的特性

1、一般構造函數不是私有或者保護成員,但構造函數可以使私有成員函數,在一些特殊的場合,會把構造函數定義為私有或者保護成員。

2、私有構造函數是一種特殊的實例構造函數。它通常用在只包含靜態成員的類中。如果類具有一個或多個私有構造函數而沒有公共構造函數,則不允許其他類(除了嵌套類)創建該類的實例。

3、私有構造函數的特性也可以用于管理對象的創建。雖然私有構造函數不允許外部方法實例化這個類,但卻允許此類中的公共方法(有時也稱為工廠方法,factory method)創建對象。也就是說,類可以創建自身的實例、控制外界對它的訪問,以及控制創建的實例個數

二、私有構造函數作用實例說明

1、帶私有構造函數的類不能被繼承

在Animal類中聲明一個私有構造函數,讓Dog類來繼承Animal類。

C# 代碼 復制
    public class Animal   {     PRivate Animal()     {       Console.WriteLine("i am animal");     }   }   public class Dog : Animal  {        } 

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

2、帶私有構造函數的類不能被實例化

運行如下測試代碼:

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

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

三、私有構造函數的應用

有些時候,我們不希望一個類被過多地被實例化,比如有關全局的類、路由類等。這時候,我們可以為類設置構造函數并提供靜態方法。

C# 代碼 復制
  public class PrivateConClass{    private static PrivateConClass pcc;    private PrivateConClass()    {        Console.WriteLine("This private constructure function. So you cannot create an instance of this class.");    }    public static PrivateConClass CreatePcc()    {        pcc = new PrivateConClass();        return pcc;    }    public static void ShowStaticMethod()    {        Console.WriteLine("This is a static method. Just be called by Class name.");    }    public void ShowMethod()    {        Console.WriteLine("This is a Nonstatic method. Just be called by private static instance pcc.");    }}class Program{    static void Main(string[] args)    {            PrivateConClass pcc = PrivateConClass.CreatePcc();        pcc.ShowMethod();        PrivateConClass.ShowStaticMethod();    }}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黑龙江省| 高阳县| 通州区| 科技| 葵青区| 刚察县| 滦平县| 彩票| 勃利县| 炎陵县| 区。| 黄陵县| 溧水县| 沂南县| 岳阳县| 攀枝花市| 城市| 七台河市| 卓资县| 友谊县| 诸城市| 高雄市| 巴里| 六安市| 萨嘎县| 台安县| 高要市| 延吉市| 定西市| 仲巴县| 祁东县| 织金县| 道孚县| 嘉峪关市| 蓬溪县| 邹城市| 廊坊市| 扶绥县| 宝清县| 屯门区| 石泉县|