封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使程序员实现所需级别的抽象。封装使用 访问修饰符 来实现。一个 访问修饰符 定义了一个类成员的范围和可见性。对于不同的访问修饰符区别如下:
第一:public, internal 既是类型成员修饰符也是类型修饰符;其他几个只是类型成员修饰符。(类型有enum(枚举)、class(类)、interface(接口)、struct(结构))
第二:public: 公开访问,访问权限的最高级别,对成员访问没有任何限制。
internal: 比public的级别低,不管修饰类型或者类型成员,在当前程序集(当前项目)中都可以访问(在同一项目中跟public的访问权限一致)。类型如果没有加public修饰符则默认为internal,类的成员默认是private.
protected: 在包含类或者派生类中可以访问,不管是不是在同一程序集(同一项目)中的派生类,都可以访问。
private: 私有访问,访问级别最低。只能在当前类中可以访问。
proteced internal: 简单点就是既有protected的访问级别又包含internal的访问级别。比internal多的是可以在其他程序集(项目)的派生类中可以访问,比protected多的是在当前项目(程序集)的非派生类中可以访问,比public少的是,在非当前程序集(项目)中的非派生类中不可访问。