Public 访问修饰符
Public 访问修饰符允许一个类将其成员变量和成员函数暴露给其他的函数和对象。任何公有成员可以被外部的类访问。
Private 访问修饰符
Private 访问修饰符允许一个类将其成员变量和成员函数对其他的函数和对象进行隐藏。只有同一个类中的函数可以访问它的私有成员。即使是类的实例也不能访问它的私有成员。
Protected 访问修饰符
Protected 访问修饰符允许子类访问它的基类的成员变量和成员函数。只限于本类和子类访问,实例不能访问。
Internal 访问修饰符
Internal 访问说明符允许一个类将其成员变量和成员函数暴露给当前程序中的其他函数和对象。换句话说,带有 internal 访问修饰符的任何成员可以被定义在该成员所定义的应用程序内的任何类或方法访问。只限于本项目/程序集内访问。
Protected Internal 访问修饰符
Protected Internal 访问修饰符允许在本类,派生类或者包含该类的程序集中访问。这也被用于实现继承。
比如说:一个人A为父类,他的儿子B,妻子C,私生子D(注:D不在他家里)
如果我们给A的事情增加修饰符:
- public事件,地球人都知道,全公开
- protected事件,A,B,D知道(A和他的所有儿子知道,妻子C不知道)
- private事件,只有A知道(隐私?心事?)
- internal事件,A,B,C知道(A家里人都知道,私生子D不知道)
- protected internal事件,A,B,C,D都知道,其它人不知道
- (1) Pubilc :任何公有成员可以被外部的类访问。
- (2) Private :只有同一个类中的函数可以访问它的私有成员。
- (3) Protected :该类内部和继承类中可以访问。
- (4) internal : 同一个程序集的对象可以访问。
- (5) Protected internal :3 和 4 的并集,符合任意一条都可以访问。
范围比较:
private < internal/protected < protected internal < public