Encapsulación

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 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 la mantenibilidad del código.

La encapsulación se utiliza 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 no previstas por el diseñador. 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.

Techinfo explica la 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 todo el código del programa
  • Privado: acceso solo para miembros de la misma clase
  • Protegido: acceso a miembros de la misma clase y sus clases derivadas
  • Interno: Acceso al montaje actual
  • Interno protegido: acceso al ensamblado actual y tipos derivados de la clase contenedora

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 Employee puede exponer los datos (como Name, EmployeeID, 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 pueden 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 a ellos 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 "establecer" y "obtener" de un objeto.

Esta definición se escribió en el contexto de C #