En C, la encapsulación se logra haciendo que las cosas sean estáticas en un módulo o unidad. Esto previene (o hace mas difícil) que otro módulo tenga acceso a éstas. (Por cierto, los datos estáticos de ámbito de archivo se consideran obsoleto en C++: no hagan eso.)
Desafortunadamente, este enfoque no es compatible con varias instancias de datos, ya que no hay soporte directo para crear varias instancias de módulo con datos estáticos. Si se necesitan varias instancias en C, los programadores suelen utilizar una estructura. Pero, por desgracia las estructuras C no admiten la encapsulación. Esto agrava el equilibrio entre la seguridad (ocultación de información) y la usabilidad (varias instancias).
En C + +, que puede tener varias instancias y encapsulación usando clases. La parte pública contiene la interfaz de la clase, que normalmente consiste en las funciones de miembro públicas y funciones amigas. Las partes privadas y/o protegidos de una clase contiene la implementación, que usualmente es donde los datos viven.
El resultado final es como una «estructura encapsulada». Esto reduce el equilibrio entre seguridad (ocultación de información) y la usabilidad (múltiples instancias).
/*Tomado de C++ FAQ Lite*/
- Ivan Cachicatari asked 7 años ago
- You must login to post comments