Csharp/C#教程:浅谈C#基础之类的访问修饰符分享

1.类中成员的访问修饰符

方位修饰符就是确定该成员能够访问(使用)的区域。C#中常用的有如下修饰符:pubic(公有)、private(私有)、internal(内联)、protected(受保护)。举例说明各个修饰符的限制区域。   
代码如下:
classTestClass
   {
       publicinta=0;
       privateintb=0;
       protectedintc=0;

pulic static intd=0;
   }    

TestClass类中变量a是公有类型,可以在类外方位,即类实例化后可以使用a;变量b只能在类内访问,即类内部的函数可以使用b;变量c则是TestClass继承类可以使用。
代码如下:
   classB
   {
       privatevoidst()
       {
          TestClasstec=newTestClass();
           intaa=tec.a;  //right
           intbb=tec.b; //wrong
           intcc=tec.c   //wrong
       }

  TestClass实例化对象tec,tec可以访问a但不能访问b、c。那么什么情况下可以访问b、c呢?
代码如下:
   classC:TestClass
   {
       privatevoidst()
       {
          TestClasstec=newTestClass();
           Cbo=newC();
           intaa=tec.a;
           intbb=tec.b;//wrong
           intcc=tec.c;//wrong
           inttt=bo.c;
       }
   }

先说c。c是受保护类型,其继承类C可以访问。是类B实例化对象仍然不可以访问。但是B内部可以访问c。如下面所示,类内访问类内无限制。
代码如下:
   classTestClass
   {
       publicinta=0;
       privateintb=0;
       protectedintc=0;

pulic static intd=0;
       privatevoidos()
       {
           inta1=a;
           inta2=b;
           inta3=c;
       }
   }

B继承之后,c就变为private。也就说B的继承类无法访问c;如下所示,D中无法访问c。
代码如下:
   classD:B
   {
       privatevoidst()
       {
           Bbo=newB();
           intdd=bo.c;//wrong访问受限制
       }
   }

static修饰符表明该字段或方法是类所有,不是某个具体对象的。TestClass类不同实例化时a、b、c的值不同,但d是相同的。如果说a、b、c相当于每个人在哪个省,那么d表明大家都在中国。
代码如下:
   classB:TestClass
   {
       TestClasstec=newTestClass();
       intbb=tec.a;//wrong错误原因是因为字段的初始值引用了非静态字段
       intcc=TestClass.d;
       privatevoidst()
       {
           Bbo=newB();
           intaa=tec.a;
           inttt=bo.c;
       }
   }

小结:

puclic修饰:类内,类外皆可;private:内部;protect:类内即其派生类。

您可能感兴趣的文章:C#中const和readonly修饰符的用法详解C#语言中的修饰符汇总C#类的访问修饰符用法分析C#运用params修饰符来实现变长参数传递的方法C#中overrid和new修饰符有什么不同

标签: 修饰符

vc6.0中c语言控制台程序中的定时技术(定时器)

四叉树有损位图压缩处理程序示例

上述就是C#学习教程:浅谈C#基础之类的访问修饰符分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/904492.html

(0)
上一篇 2021年10月21日
下一篇 2021年10月21日

精彩推荐