手机
当前位置:查字典教程网 >编程开发 >C#教程 >浅谈C#基础之类的访问修饰符
浅谈C#基础之类的访问修饰符
摘要:1.类中成员的访问修饰符方位修饰符就是确定该成员能够访问(使用)的区域。C#中常用的有如下修饰符:pubic(公有)、private(私有)...

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

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

复制代码 代码如下:

class TestClass

{

public int a = 0;

private int b = 0;

protected int c = 0;

pulic static int d=0;

}

TestClass类中变量a是公有类型,可以在类外方位,即类实例化后可以使用a;变量b只能在类内访问,即类内部的函数可以使用b;变量c则是TestClass继承类可以使用。

复制代码 代码如下:

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 实例化对象tec,tec可以访问a但不能访问b、c。那么什么情况下可以访问b、c呢?

复制代码 代码如下:

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;

}

}

先说c。c是受保护类型,其继承类C可以访问。是类B实例化对象仍然不可以访问。但是B内部可以访问c。如下面所示,类内访问类内无限制。

复制代码 代码如下:

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就变为private。也就说B的继承类无法访问c;如下所示,D中无法访问c。

复制代码 代码如下:

class D : B

{

private void st()

{

B bo = new B();

int dd = bo.c;//wrong访问受限制

}

}

static修饰符表明该字段或方法是类所有,不是某个具体对象的。TestClass类不同实例化时a、b、c的值不同,但d是相同的。如果说a、b、c相当于每个人在哪个省,那么d表明大家都在中国。

复制代码 代码如下:

class B:TestClass

{

TestClass tec = new TestClass();

int bb = tec.a;//wrong 错误原因是因为字段的初始值引用了非静态字段

int cc = TestClass.d;

private void st()

{

B bo = new B();

int aa = tec.a;

int tt = bo.c;

}

}

小结:

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

【浅谈C#基础之类的访问修饰符】相关文章:

C#中实现任意List的全组合算法代码

再议C#中的装箱与拆箱的问题详解

浅谈c# 泛型类的应用

C#键值对容器的介绍

C#难点逐个击破(5):类的访问类型

深入C#判断操作系统类型的总结详解

C#基础概念二十五问 16-20

C#学习基础概念二十五问 11-15

深入C# 内存管理以及优化的方法详解

C#调用Java类的实现方法

精品推荐
分类导航