亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談C#基礎(chǔ)之類(lèi)的訪問(wèn)修飾符

 更新時(shí)間:2013年03月24日 12:36:01   作者:  
淺談C#基礎(chǔ)之類(lèi)的訪問(wèn)修飾符,需要的朋友可以參考一下

1.類(lèi)中成員的訪問(wèn)修飾符

方位修飾符就是確定該成員能夠訪問(wèn)(使用)的區(qū)域。C#中常用的有如下修飾符:pubic(公有)、private(私有)、internal(內(nèi)聯(lián))、protected(受保護(hù))。舉例說(shuō)明各個(gè)修飾符的限制區(qū)域。   

復(fù)制代碼 代碼如下:

class TestClass
    {
        public int a = 0;
        private int b = 0;
        protected int c = 0;

pulic  static  int d=0;
    }    


TestClass類(lèi)中變量a是公有類(lèi)型,可以在類(lèi)外方位,即類(lèi)實(shí)例化后可以使用a;變量b只能在類(lèi)內(nèi)訪問(wèn),即類(lèi)內(nèi)部的函數(shù)可以使用b;變量c則是TestClass繼承類(lèi)可以使用。
復(fù)制代碼 代碼如下:

    class B
    {
        private void st()
        {
           TestClass tec = new TestClass();
            int aa = tec.a;   //right
            int bb = tec.b;  //wrong
            int cc = tec.c    //wrong
        }

   TestClass 實(shí)例化對(duì)象tec,tec可以訪問(wèn)a但不能訪問(wèn)b、c。那么什么情況下可以訪問(wèn)b、c呢?
復(fù)制代碼 代碼如下:

    class C:TestClass
    {
        private void st()
        {
           TestClass tec = new TestClass();
            C bo = new C();
            int aa = tec.a;
            int bb = tec.b;//wrong
            int cc = tec.c;//wrong
            int tt = bo.c;
        }
    }

先說(shuō)c。c是受保護(hù)類(lèi)型,其繼承類(lèi)C可以訪問(wèn)。是類(lèi)B實(shí)例化對(duì)象仍然不可以訪問(wèn)。但是B內(nèi)部可以訪問(wèn)c。如下面所示,類(lèi)內(nèi)訪問(wèn)類(lèi)內(nèi)無(wú)限制。
復(fù)制代碼 代碼如下:

    class TestClass
    {
        public int a = 0;
        private int b = 0;
        protected int c = 0;

pulic  static  int d=0;
        private void os()
        {
            int a1 = a;
            int a2 = b;
            int a3 = c;
        }
    }


B繼承之后,c就變?yōu)閜rivate。也就說(shuō)B的繼承類(lèi)無(wú)法訪問(wèn)c;如下所示,D中無(wú)法訪問(wèn)c。
復(fù)制代碼 代碼如下:

    class D : B
    {
        private void st()
        {
            B bo = new B();
            int dd = bo.c;//wrong訪問(wèn)受限制
        }
    }

static修飾符表明該字段或方法是類(lèi)所有,不是某個(gè)具體對(duì)象的。TestClass類(lèi)不同實(shí)例化時(shí)a、b、c的值不同,但d是相同的。如果說(shuō)a、b、c相當(dāng)于每個(gè)人在哪個(gè)省,那么d表明大家都在中國(guó)。
復(fù)制代碼 代碼如下:

    class B:TestClass
    {
        TestClass tec = new TestClass();
        int bb = tec.a;//wrong 錯(cuò)誤原因是因?yàn)樽侄蔚某跏贾狄昧朔庆o態(tài)字段
        int cc = TestClass.d;
        private void st()
        {

            B bo = new B();
            int aa = tec.a;
            int tt = bo.c;
        }
    }

小結(jié):

puclic修飾:類(lèi)內(nèi),類(lèi)外皆可;private:內(nèi)部;protect:類(lèi)內(nèi)即其派生類(lèi)。

相關(guān)文章

最新評(píng)論