¿Qué es la encapsulación en C++?


La encapsulación es la ocultación de información para garantizar que las estructuras de datos y los operadores se utilizan según lo previsto y para que el modelo de uso sea más obvio para el desarrollador. C ++ proporciona la capacidad de definir clases y funciones como sus mecanismos principales de encapsulación. Dentro de una clase, los miembros pueden ser declarados como públicos, protegidos o privados para hacer cumplir explícitamente la encapsulación. Un miembro público de la clase es accesible a cualquier función. Un miembro privado es accesible solo para las funciones que son miembros de esa clase y para las funciones y clases con permiso de acceso explícito otorgado por la clase ("amigos"). Un miembro protegido es accesible a los miembros de las clases que heredan de la clase, además de la clase en sí y a los amigos.

El principio orientado a objetos asegura la encapsulación de todas y solo las funciones que acceden a la representación interna de un tipo. C ++ admite este principio a través de funciones miembro y funciones de amigo, pero no lo aplica. Los programadores pueden declarar que partes o la totalidad de la representación de un tipo es pública, y se les permite hacer que las entidades públicas no formen parte de la representación de un tipo. Por lo tanto, C ++ no solo es compatible con la programación orientada a objetos, sino con otros paradigmas de descomposición, como la programación modular.

En general, se considera una buena práctica hacer que todos los datos sean privados o protegidos, y hacer públicas solo aquellas funciones que forman parte de una interfaz mínima para los usuarios de la clase. Esto puede ocultar los detalles de la implementación de los datos, lo que le permite al diseñador cambiar luego la implementación sin cambiar la interfaz de ninguna manera.

(0 votes)