封装是一种隐藏的特性,开发者可以用一个公式来展示类的封装特性:封装的类=数据+对此数据进行的操作(即算法)。通俗的说,封装就是包起外界不必要知道的东西,只向外界展露可供展示的东西。
C#中可以使用类来达到数据封装的效果,这样就可以把数据和方法封装成单一元素。以便于通过方法存取数据。
封装还可以解决数据存取的权限问题,可以使用封装将数据隐藏起来,形成一个封闭的空间,然后可以设置哪些数据只能在这个空间中使用,哪些数据可以在空间外部使用。
在编写程序的时候,要对类的成员使用不同的修饰符,从而定义它们的访问级别。
封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口这一特定的访问权限来使用类的成员。
封装具有以下优点:
1、良好的封装能够减少耦合(比如实现界面和逻辑分离)
2、可以让类对外接口不变,内部可以实现自由的修改
3、类具有清晰的对外接口,使用者只需调用,无须关心内部
4、因为封装的类功能相对独立,因此能更好地实现代码复用
5、可以保护代码不被无意中破坏,通过私有字段等实现内部。这里的代码保护不是指代码本身的加密,而是对不想被外部更改的变量通过私有来实现