Encapsulamiento (POO)

El encapsulamiento es una técnica usada (y muy recomendable) en POO, consiste en generar secciones de código completamente independientes entre si con una interfaz de comunicación con el resto del programa.

Organizar estos permisos se hacen con el control de acceso.

Una clase se divide en 3 áreas que aportan más o menos acceso.

  • private: Es el área por defecto de una clase. en este área se almacenan las variables intrínsecas del objeto que queremos representar, y también algunas acciones (métodos privados).
  • protected: Lo que aqui nos vamos a encontrar son atributos y miembros públicos para la herencia pero privados para el resto de código.
  • public: Esta es la parte de la interfaz (de la comunicación con el exterior) Esta parte de aquí generalmente está compuesta por métodos y rara vez atributos.

La razón de hacer un método público para modificar un dato privado en vez de hacer el dato público directamente soluciona muchos problemas:

  • Al ser una clase algo desconocida para el programador este no sabe si puede estar usando un dato de manera errónea , por ejemplo: una habitación que tiene una temperatura por debajo del 0 absoluto haría del programa un absurdo pero no hay nada que lo impida, salvo que el método realice esa comprobación.
  • Iniciar el objeto, cosa que no hace ningún dato al declararse.
  • Permitir solo el acceso a determinadas variables.