1.1.4. Mensajes y encapsulamiento

¿Qué es encapsulación?

La encapsulación puede ser definida como:

La capacidad de un objeto de ocultar los detalles de implantación de sus operaciones proporcionando una interfase bien definida de acceso.

  • La encapsulación en ocasiones es conocida como ocultamiento de información, permitiendo a los clientes hacer uso de una interfase sin necesidad de que conozcan los detalles de implantación.
  • La encapsulación elimina las dependencias directas hacia detalles de implantación (el cliente solo depende de la interfase). En consecuencia, es posible cambiar la implantación, mientras la interfase no sea modificada los clientes no son afectados.
  • Los clientes no son afectados por cambios en la implantación, con lo que se reduce el acoplamiento, evitando que cualquier corrección o cambio en alguna operación obligue a realizar cambios a los clientes que dependen de ella. Como resultado, el mantenimiento del sistema se simplifica.
  • La encapsulación ofrece dos tipos de protección, protege el estado interno de un objeto de la manipulación directa por parte de los clientes y protege a los clientes de los cambios en los detalles de implantación de las operaciones del objeto.

 

La clave de la encapsulación es la interfase de los mensajes que puede recibir un objeto. La interfase garantiza que toda comunicación hacia el objeto se lleve a cabo a través de un conjunto de operaciones predefinidos. Los datos internos del objeto son solamente accesibles a través de sus operaciones.

En consecuencia, es necesario declarar los atributos de un objeto como privados y declarar como públicas, aquellas operaciones que sean de interés a los clientes.