Introducción a la encapsulación en C ++

Encapsulación significa el proceso de envolver los datos y funciones en una sola cápsula. También protege los datos de otras clases limitando el acceso. Básicamente oculta los datos. Si tomamos un ejemplo de la universidad en el mundo real, tenemos diferentes departamentos como Física, Química y Biología, etc. Puede surgir una situación en la que el Jefe del departamento de Física necesita información del departamento de Biología, no puede acceder a los datos de ese departamento directamente. Primero, debe comunicarse con el Jefe del departamento de Biología, luego solicitarle que brinde los datos. Así es como funciona la encapsulación.

¿Cómo usar la encapsulación en C ++?

Para lograr esto, tenemos que seguir los siguientes pasos:

  1. Primero, necesitamos hacer que todos los miembros de datos sean privados.
  2. Luego, las funciones de captador y definidor público deben crearse para cada miembro de datos de tal manera que la función get obtenga el valor del miembro de datos y la función set establece el valor del miembro de datos.

La encapsulación y la ocultación de datos se pueden lograr en C ++, mediante el uso de tipos definidos por el usuario llamados clases. Los especificadores de acceso en las clases pueden ser privados, protegidos o públicos. Por defecto, todos los elementos de una clase son privados. Según la necesidad, podemos cambiar los niveles de acceso. Los tres niveles de especificadores de acceso son los siguientes:

  • Privado : los miembros de la misma clase pueden acceder a los datos.
  • Público : todas las clases pueden acceder a los datos.
  • Protegido : el acceso a los datos está permitido a los miembros de la misma clase o clases derivadas.

El mejor uso de la encapsulación se realiza solo cuando utilizamos privado o protegido. Cuando utilizamos public tenemos que asegurarnos de que conocemos su necesidad en el código.

Para explicar esto, veremos la siguiente clase.

Aquí la física, la química y la biología son del tipo doble y son variables privadas. GetTotalMarks () es un método público utilizado para recuperar las calificaciones totales de los tres temas. No podemos acceder a cada materia en otra clase debido a su nivel de protección. Pero podemos acceder al método y se puede utilizar para recuperar las calificaciones totales pasando las calificaciones individuales de los sujetos. Podemos establecer las marcas de cada sujeto utilizando el método setter, que veremos en el siguiente ejemplo.

Ejemplo de encapsulación en C ++ con pasos

A continuación se muestran las instrucciones paso a paso para implementar la encapsulación.

1) Consideremos el escenario en el que necesitamos calcular las calificaciones totales del estudiante calculando la suma en tres materias, es decir, física, química y biología. Pero la condición es tal que otra clase

2) Primero, incluya el iostream para la funcionalidad de entrada y salida.

3) Use el espacio de nombre estándar

4) Escriba una clase para contener todos los datos y funciones. Deja que sea estudiante.

5) Declarar las variables privadas física, química y biología. Esto indica que no podemos acceder a las variables fuera de esta clase de estudiante. Pero podemos acceder a ellos localmente y modificar el valor si es necesario. Para modificar el valor, podemos escribir una función de establecimiento público y acceder a ella en otra clase.

6) Escriba una función llamada SetMarks, que se usará para establecer los valores de las variables privadas. Como no podemos acceder a las variables privadas de física, química y biología fuera de la clase de estudiantes, necesitamos esta función para establecer estos valores desde la clase externa. Este método será público ya que necesitamos acceder a él fuera de la clase. Necesitamos tres parámetros para obtener los valores para cada sujeto. Dentro de la función, estableceremos el valor de las variables privadas.

7) Necesitamos un método más para obtener las calificaciones totales de las tres materias agregando las calificaciones. Este método también es público. Simplemente llame a este método fuera de la clase y obtendremos la suma de las calificaciones de las tres asignaturas.

8) Ahora fuera de esta clase, escribiremos la función principal.

9) Dentro de la función principal primero, accederemos al alumno de la clase y crearemos un objeto de la clase.

10) En el siguiente paso, llamaremos a la función para establecer las marcas de los tres sujetos. Aquí pasaremos las marcas como parámetros a la función. A continuación se muestra el código para lograr esto.

11) A continuación, obtendremos las marcas totales e imprimiremos el valor. Y devuelve 0 al final.

12) ¿Puedes adivinar la salida del código? Tienes razón. La salida se muestra a continuación.

Salida: 240

13) Ahora analizaremos cómo obtuvimos este resultado. Como no pudimos acceder a las variables privadas, escribimos una función Setter que toma valores de otra clase y modifica las variables. La función de obtención obtiene las variables, las agrega y envía las calificaciones totales del alumno. Cada vez que pasamos tres valores diferentes para establecer la función, podemos ver que las marcas totales que obtenemos también varían en consecuencia.

14) A partir de esto, podemos decir que la encapsulación nos ayuda a proteger algunos de los datos necesarios. También se utilizan las funciones setter y getter para alterar sus valores. Al hacer esto. La protección también se logra sin obstaculizar nuestro propósito.

Conclusión

En este artículo, hemos aprendido sobre cómo se puede lograr la encapsulación en C ++. Al hacer esto, podemos lograr los siguientes beneficios.

  • Las clases después de la encapsulación aumentan la legibilidad y reducen la complejidad.
  • Ayuda a proteger los datos.
  • La privacidad de los datos en la clase se puede cambiar sin modificar el código completo mediante el uso de modificadores de acceso.

Artículos recomendados

Esta es una guía para la encapsulación en C ++. Aquí discutimos cómo usar la encapsulación en C ++ junto con el Ejemplo de encapsulación en C ++ con Pasos. También puede consultar los siguientes artículos para obtener más información:

  1. Algoritmo de cifrado
  2. Cifrado de clave simétrica
  3. ¿Qué es el cifrado?
  4. Introducción a la encapsulación en C
  5. Encapsulación en JavaScript (Ventajas)
  6. Modificadores de acceso en PHP