Tabla de contenido:
Definición - ¿Qué significa encapsulación?
La encapsulación, en el contexto de C #, se refiere a la capacidad de un objeto para ocultar datos y comportamientos que no son necesarios para su usuario. La encapsulación permite que un grupo de propiedades, métodos y otros miembros se consideren una sola unidad u objeto.
Los siguientes son los beneficios de la encapsulación:
- Protección de datos contra la corrupción accidental.
- Especificación de la accesibilidad de cada uno de los miembros de una clase al código fuera de la clase.
- Flexibilidad y extensibilidad del código y reducción de la complejidad.
- Menor acoplamiento entre objetos y, por lo tanto, mejora en el mantenimiento del código.
La encapsulación se usa para restringir el acceso a los miembros de una clase a fin de evitar que el usuario de una clase determinada manipule objetos de formas que el diseñador no pretende. Si bien la encapsulación oculta la implementación interna de las funcionalidades de la clase sin afectar el funcionamiento general del sistema, permite que la clase atienda una solicitud de funcionalidad y agregue o modifique su estructura interna (datos o métodos) para adaptarse a los requisitos cambiantes.
La encapsulación también se conoce como ocultación de información.
Techopedia explica encapsulación
La encapsulación en C # se implementa con diferentes niveles de acceso a los datos del objeto que se pueden especificar mediante los siguientes modificadores de acceso:
- Público: acceso a todos los códigos del programa
- Privado: acceso solo a miembros de la misma clase
- Protegido: acceso a miembros de la misma clase y sus clases derivadas
- Interno: acceso al ensamblaje actual
- Protegido interno: acceso al ensamblaje actual y a los tipos derivados de la clase que lo contiene
La encapsulación se puede ilustrar con un ejemplo de un objeto Empleado que almacena detalles de ese objeto. Al usar la encapsulación, el objeto Empleado puede exponer los datos (como Nombre, Id. De empleado, etc.) y los métodos (como GetSalary) necesarios para usar el objeto, mientras oculta sus campos y métodos irrelevantes de otros objetos. Es fácil ver una situación en la que todos los usuarios puedan acceder a información básica sobre un empleado mientras restringen la información salarial.
C # permite la encapsulación de datos mediante el uso de accesores (para obtener datos) y mutadores (para modificar datos), que ayudan a manipular datos privados indirectamente sin hacerlos públicos. Las propiedades son un mecanismo alternativo para que los datos privados se encapsulen en un objeto C # y se acceda en modo de solo lectura o en modo de lectura y escritura. A diferencia del descriptor de acceso y el mutador, una propiedad proporciona un único punto de acceso a los valores "set" y "get" de un objeto.