封装可以了理解为"把一个或者多个项目封闭在一个物理或者逻辑的包中",在面向对象的程序设计中,封装是为了防止对实现细节的访问,简单来说封装是为了方便后续的调用。
访问修饰符定义了一个类的范围,C#的访问修饰符有五种分别为:
1.public:(/ˈpʌblɪk/ 意为:公众的,大众的;公共的,公用的 ) 所有对象都可以进行访问,在同一程序集中public表示的类是可以访问的,在不同的程序集中public定义的类也是可以访问的,public是一个公共属性,它的英文意思就是公共的所以public表述的类在同一程序集中可以公共访问。
2.private:(ˈpraɪvət/ 意为:私有的,自用的;) 对象本身在对象内部可以进行访问,它是范围最小的访问修饰符,类中所有的成员默认的访问修饰符是private,private描述的字段无法在类外部使用。
3.protected:( /prəˈtektɪd/ 意为:受保护的 ) 只有该类对象及其子类对象可以访问,protected描述的字段无法在类外部使用(除了有继承关系的类)
4.internal:( /ɪnˈtɜːn(ə)l/ 意为:内部的,体内的;) 同一个程序集的对象可以访问该类型或成员,但其他程序集不可以访问;类、结构的默认修饰符是internal,
5.protected internal:访问仅限于当前程序集或派生自包含类的类型,它描述的字段可以在同一程序集使用也可以在有继承关系的类中使用
在同一程序集中 public internal修饰的字段是可以访问的,
private protected 可以在本类使用或者在有继承关系的类中使用