麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ASP.NET私有構(gòu)造函數(shù)作用

2019-11-17 01:51:20
字體:
供稿:網(wǎng)友

asp.net私有構(gòu)造函數(shù)作用

一、私有構(gòu)造函數(shù)的特性

1、一般構(gòu)造函數(shù)不是私有或者保護(hù)成員,但構(gòu)造函數(shù)可以使私有成員函數(shù),在一些特殊的場合,會(huì)把構(gòu)造函數(shù)定義為私有或者保護(hù)成員。

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

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

二、私有構(gòu)造函數(shù)作用實(shí)例說明

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

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

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

運(yùn)行程序,生成解決方案,報(bào)錯(cuò)如下圖所示:

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

運(yùn)行如下測試代碼:

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

程序運(yùn)行后生成解決方案,報(bào)錯(cuò)如下圖所示:

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

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

C# 代碼 復(fù)制
  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();    }}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美 日韩 国产 在线 | 日韩在线播放第一页 | 成人免费视频视频在线观看 免费 | 九九热免费视频在线观看 | 亚洲视频成人 | 5a级毛片 | jizzjizzjizzjizz国产 | 一区二区三区在线播放视频 | 日韩精品久久久久久久电影99爱 | 欧美成人亚洲 | 污黄视频在线观看 | 欧洲黄色一级视频 | 女人久久久www免费人成看片 | 人禽l交免费视频 | 亚洲国产女同久久 | 主播粉嫩国产在线精品 | 日本不卡一二三区 | 欧美黄一级 | 亚洲精品一区二区三区在线看 | 国产成人精品午夜视频' | 国产精品成人一区二区三区吃奶 | 日韩精品久久久久久久电影99爱 | 2019天天干夜夜操 | 久久精品国产99国产精品亚洲 | 大学生一级毛片在线视频 | 91在线色| 国产在线精品一区二区夜色 | 精品人人人人 | 激情综合在线观看 | 欧美a在线看 | 国产精品免费一区二区三区都可以 | 欧洲伊人网 | 国产亚洲精品成人 | 色污视频在线观看 | 天天透天天狠天天爱综合97 | 国产精品69久久 | 国内精品久久久久影院不卡 | 成人午夜视频免费在线观看 | 日韩欧美中文字幕视频 | 久久久www成人免费精品 | 久久中文一区 |