encapsulation c
Una descripción completa de la encapsulación en C ++:
Hablamos de Abstracción en detalle en nuestro tutorial anterior. La abstracción, como sabemos, oculta los detalles de implementación del usuario y expone solo la interfaz que requiere el usuario.
En este tutorial, discutiremos otra característica importante de OOP, es decir, la encapsulación. La abstracción y la encapsulación van de la mano. De hecho, podemos decir que el código encapsulado nos ayuda en la abstracción. En otras palabras, la encapsulación y la abstracción están estrechamente ligadas.
=> Visite aquí para conocer el curso completo de C ++ de expertos.
Por lo tanto, podemos discutir estos dos conceptos juntos, ya que existe una línea muy delgada entre la encapsulación y la abstracción.
preguntas de la entrevista sobre maven y jenkins
Lo que vas a aprender:
- ¿Qué es la encapsulación?
- Implementación de encapsulación
- Diferencia entre encapsulación y abstracción
- Conclusión
- Lectura recomendada
¿Qué es la encapsulación?
La encapsulación de datos se refiere al proceso de vincular datos y funciones o métodos que operan en estos datos en una sola unidad para que esté protegida de interferencias externas y uso indebido.
Este es un concepto importante de programación orientada a objetos y conduce a otro concepto de programación orientada a objetos conocido como ' Ocultación de datos ”. La encapsulación oculta los datos y sus miembros, mientras que la abstracción expone solo los detalles o interfaces necesarios al mundo exterior.
En cierto modo, la abstracción presenta la 'visión abstracta' de los datos ocultos al mundo exterior. Por lo tanto, ya hicimos una declaración de que la encapsulación y la abstracción van de la mano.
Una clase en C ++ es aquella en la que agrupamos miembros de datos y las funciones que operan en estos miembros de datos junto con especificadores de acceso como privado, público y protegido representan la encapsulación. Ya hemos discutido los especificadores de acceso en nuestro tutorial anterior sobre clases y objetos.
También sabemos que, por defecto, los miembros de la clase son privados. Cuando declaramos los miembros de la clase como privados y los métodos para acceder a los miembros de la clase como públicos, realmente estamos implementando la encapsulación. Al mismo tiempo, proporcionamos una visión abstracta de los datos al mundo exterior en forma de métodos públicos.
Implementación de encapsulación
La encapsulación en C ++ se implementa como una clase que agrupa los datos y las funciones que operan en estos datos. La mayoría de los datos se declaran como privados para que no sean accesibles fuera de la clase. Los métodos o funciones se declaran como públicos y se puede acceder a ellos utilizando el objeto de la clase.
Sin embargo, no podemos acceder directamente a miembros privados y esto se denomina ocultación de datos. Cuando se hace esto, los datos están protegidos y solo se puede acceder a ellos mediante funciones de esa clase particular en la que se declaran los datos.
|_+_|Producción:
num = 100
ch = Z
En el programa anterior hemos agrupado dos variables miembro junto con los métodos getter y setter en una clase. y este es un ejemplo de encapsulación.
Hemos declarado dos variables, es decir, num y ch, como variables privadas para que no sean accesibles para el mundo exterior. Solo son accesibles para las funciones que hemos declarado como públicas. Por lo tanto, tenemos miembros de datos ocultos como variables privadas en una clase.
Tomemos otro ejemplo para comprender mejor la encapsulación en C ++.
|_+_|Producción:
Ingrese básico para el empleado1: 10000
asignaciones: 4324.43
deducciones: 1000
Empleado: 1
Salario: 13324,4
Este es otro ejemplo más de encapsulación. Como se muestra arriba, tenemos una clase de Cuentas que agrupa los datos de la cuenta y todas las funciones que operan con estos datos en una sola clase de Cuentas. En la función principal, podemos crear un objeto de esta clase y acceder a funciones para obtener la información deseada.
Ahora bien, si algunas otras clases dicen que los detalles de los empleados quieren acceder a los datos de las cuentas, entonces no pueden hacerlo directamente. Necesitará crear un objeto de la clase Cuentas y podrá acceder solo a aquellos elementos que sean públicos. De esta forma, mediante el encapsulado garantizamos el control de acceso a los datos y también aseguramos la integridad de los datos.
Diferencia entre encapsulación y abstracción
La abstracción y la encapsulación están estrechamente ligadas. La encapsulación ayuda en la abstracción al agrupar los datos y los métodos que operan sobre esos datos.
Encapsulamiento | Abstracción |
---|---|
Oculta los datos | Oculta la implementación |
Agrupa datos y métodos | Proporciona una interfaz abstracta para el usuario exponiendo solo lo que se requiere |
Ayudas en la abstracción | Ayuda a la reutilización y seguridad del código. |
Implementado como una clase con especificadores de acceso que definen el acceso a métodos y miembros de datos | Implementado como una clase abstracta e interfaces que no se pueden instanciar. |
Conclusión
La encapsulación es una de las características más importantes de la programación orientada a objetos, ya que nos proporciona una forma de ocultar los datos. Esto, a su vez, hace que los datos sean más seguros y los protege del uso malintencionado.
La encapsulación ayuda a la abstracción, de modo que podamos exponer solo la interfaz requerida al usuario final y ocultar otros detalles en consecuencia. En este tutorial, echamos un vistazo a los conceptos de abstracción y encapsulación en C ++.
En nuestro próximo tutorial, analizaremos la herencia en C ++ con ejemplos.
=> Visite aquí para ver la serie exclusiva de tutoriales de capacitación en C ++.
Lectura recomendada
- Abstracción de datos en C ++
- Tipos de datos C ++
- La mejor serie de tutoriales de C # GRATIS: la guía definitiva de C # para principiantes
- 70+ MEJORES Tutoriales de C ++ para aprender programación C ++ GRATIS
- Funciones de biblioteca en C ++
- Programación orientada a objetos en C ++
- Introducción a las estructuras de datos en C ++
- Listas de inicializadores en C ++