技术成就梦想

知道用户需求,做到专注!c#,donet,Frameworks,UML,面向对象,设计模式!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

c#中public\protect\private\internal修饰符的区别

Posted on 2010-03-29 13:40  我不是高手  阅读(6927)  评论(0编辑  收藏  举报
public 关键字是类型和类型成员的访问修饰符。公共访问是允许的最高访问级别,对访问公共成员没有限制。
protected 关键字是一个成员访问修饰符。受保护成员在它的类中可访问并且可由派生类访问。
private 关键字是一个成员访问修饰符。私有访问是允许的最低访问级别。私有成员只有在声明它们的类和结构体中才是可访问的。
internal 关键字是类型和类型成员的访问修饰符。只有在同一程序集的文件中,内部类型或成员才是可访问的。

public 意味着在其后声明的所有成员对所有的人都可以取。
private 关键字意味着除了该类型的创建者和类的内部成员函数之外,任何人都不能存取这些成员。
protect 它与private基本相似,只有一点不同:继承的结构可以访问protected成员,但不能访问private成员。

=============================================

public就象是对所有其他的程序,以及子程序,以及包以外的程序都可见
private正好相反,对谁都不可见,除了自己
protect是对同一个包内,以及子程序可见
自己就是当前程序啊
你privat的变量和方法在哪个程序,这个程序就是自己

=============================================

public人缘好,跟谁都好,
protect只和熟人好,
private比较自闭.
不过他们是三胞胎.
class是他们的爹.

 

 

public 修饰的类,可以在整个系统的任意地方调用,是完全公开的.

private 相反的,只能在类内部调用.任何实例,无法调用private调用.

internal 仅为同项目(这里的项目是只单独的项目,而不是整个解决方案)调用,按照我的理解,应该是和java的friendly一样的效果.

protected   自己及自己的子类可以调用