¿Qué se entiende por «encapsulación» en relación con la programación informática?

En términos normales, la encapsulación se define como la envoltura de datos e información bajo una sola unidad. En la programación orientada a objetos, la encapsulación se define como la unión de los datos y las funciones que los manipulan.
Considere un ejemplo de la vida real de la encapsulación, en una empresa hay diferentes secciones como la sección de cuentas, sección de finanzas, sección de ventas, etc. La sección de finanzas maneja todas las transacciones financieras y mantiene registros de todos los datos relacionados con las finanzas. Del mismo modo, la sección de ventas se encarga de todas las actividades relacionadas con las ventas y mantiene registros de todas las ventas. Ahora bien, puede darse la situación de que, por alguna razón, un funcionario de la sección de finanzas necesite todos los datos sobre las ventas de un mes determinado. En este caso, no se le permite acceder directamente a los datos de la sección de ventas. Primero tendrá que ponerse en contacto con algún otro funcionario de la sección de ventas y luego pedirle que le facilite los datos concretos. En esto consiste la encapsulación. Aquí los datos de la sección de ventas y los empleados que pueden manipularlos están envueltos bajo un solo nombre "sección de ventas".

La encapsulación también conduce a la abstracción u ocultación de datos. Como el uso de la encapsulación también oculta los datos. En el ejemplo anterior, los datos de cualquiera de las secciones como ventas, finanzas o cuentas están ocultos de cualquier otra sección.

El papel de los especificadores de acceso en la encapsulación

Como hemos visto en el ejemplo anterior, los especificadores de acceso juegan un papel importante en la implementación de la encapsulación en C++. El proceso de implementación de la encapsulación se puede subdividir en dos pasos:

  1. Los miembros de datos deben ser etiquetados como privados utilizando los especificadores de acceso privado
  2. La función miembro que manipula los miembros de datos debe ser etiquetada como pública utilizando el especificador de acceso público

.