五个访问修饰符:public、private、protected、internal和protected internal.
访问修饰符的作用:提供封装。
封装的作用:不仅组合数据和行为,还能隐藏类中的数据和行为的实现细节,使类的内部工作机制不暴露。
如果不添加修饰符,那就默认为 private 私有的。公共成员 则 必须 显示指定。
1. public
作用:公开访问。任何地方都可以访问该成员。
使用场景:当你需要让某个成员在整个应用程序中都可访问时使用。
2. private
作用:私有访问。仅限于定义它的类内部访问。
使用场景:当你希望隐藏实现细节,防止外部直接访问或修改某些数据时使用。
3. protected
作用:受保护访问。仅限于定义它的类及其派生类访问。
使用场景:通常用于继承体系中,允许子类扩展或重写父类的行为。
当你需要让子类能够访问某些成员,但不希望其他类访问时使用。
4. internal
作用:内部访问。仅限于同一程序集内的类型访问。
使用场景:当你希望限制访问到当前项目(程序集)中的代码时使用。
5. protected internal
作用:受保护或内部访问。允许同一程序集内的类型或派生类访问。
使用场景:当你需要允许在同一程序集内的所有类型以及任何派生类访问某个成员时使用。
总结与记忆技巧
Public:所有人都可以访问,就像公共设施一样。
Private:只有自己(类)能访问,就像私人房间一样。
Protected:自己(类)和自己的孩子(派生类)能访问,就像家庭内部事务一样。
Internal:只有同一个项目(程序集)中的代码能访问,就像公司内部员工才能访问的资源。
Protected Internal:同项目(程序集)中的代码和派生类都能访问,类似于公司内部员工和分公司员工都能访问的资源。