黑马程序员技术交流社区

标题: C#类成员访问修饰符 private,proted,public和internal详解 [打印本页]

作者: zhangcheng5468    时间: 2013-7-4 17:17
标题: C#类成员访问修饰符 private,proted,public和internal详解
访问修饰符用于指定类成员的可访问性。C#访问修饰符有4种:private,protected,public和internal。1、private声明私有成员。私有数据成员只能被类的内部函数使用和修改,私有函数成员只能被类内部函数调用。派生类虽然继承了基类的私有成员,但不能直接访问它们,只能通过基类的公有成员访问。

2、protected声明波阿虎成员。保护数据成员只能被类内部和派生类的函数使用和修改,保护函数成员只能被类内部和派生类的函数调用。
3、public声明共有成员。类的公有函数成员可以被类的外部程序所调用,类的公有数据可以被类的外部程序所直接使用。公有函数实际是一个类和外部通过信的接口,外部函数通过调用公有函数,按照预先设定好的方法修改类的私有成员和保护成员。
4、internal声明内部成员。内部成员只能在同一程序集的文件中才是可以访问的。一般是同一个应用(Application)或库(Library)。
我们开发过程中可以根据自己不同的需要来选择不同的访问修饰符来保证数据安全~~~{:soso_e116:}

作者: oxf974025918    时间: 2013-7-4 18:04
JAVA修饰符类型(public,protected,private,friendly)

public的类、类属变量及方法,包内及包外的任何类均可以访问;
protected的类、类属变量及方法,包内的任何类,及包外的那些继承了此类的子类才能访问;
private的类、类属变量及方法,包内包外的任何类均不能访问;
如果一个类、类属变量及方法不以这三种修饰符来修饰,它就是friendly类型的,那么包内的任何类都可以访问它,而包外的任何类都不能访问它(包括包外继承了此类的子类),因此,这种类、类属变量及方法对包内的其他类是友好的,开放的,而对包外的其他类是关闭的。
对比一下,差不了多少,。C#毕竟是仿照java的。。
作者: zhangcheng5468    时间: 2013-7-4 18:24
嗯,C#在JAVA之后产生,集成和JAVA和C++之所长使得开发变得更加高效~
作者: Candy小烨    时间: 2013-7-5 07:13
C#其实有5种访问修饰符
private  私有访问修饰符,只能在类内部访问该修饰符修饰的类成员(类不能被标记为私有的)
internal 内部访问修饰符,只能在程序级内部访问该修饰符修饰的类(新建类如果不加修饰符默认为internal修饰符修饰)
protected 保护访问修饰符,只能在本类或者继承自本类的子类中才能被访问
protected internal 保护+内部 访问修饰符,在程序集内部或者继承自本类的子类中才能被访问
public  共有访问修饰符,在程序的任何地方都能访问
使用反射等方法可以访问私有 内部 保护等修饰符修饰的类或成员属性




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2