Encapsulamiento

Revisión del 16:06 20 jun 2019 de Javiermartin jc (discusión | contribuciones) (Texto reemplazado: «<div align="justify">» por «»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Encapsulamiento
Información sobre la plantilla
POO Encapsulamiento.jpg
Concepto:También conocido como ocultamiento. Se encarga de mantener ocultos los procesos internos que necesita para hacer lo que sea que haga, dándole al programador acceso sólo a lo que necesita.

Encapsulamiento. En informática es un mecanismo que consiste en organizar datos y métodos de una estructura, conciliando el modo en que el objeto se implementa, es decir, evitando el acceso a datos por cualquier otro medio distinto a los especificados. Por lo tanto, la encapsulación garantiza la integridad de los datos que contiene un objeto.

Proceso de encapsulamiento

Consiste en unir en la Clase las características y comportamientos, esto es, las variables y métodos. Es tener todo esto es una sola entidad.

La abstracción y la encapsulación no son lo mismo, pero si están relacionadas porque sin encapsulación no hay abstracción, ya que si no se encapsulan los componentes no podríamos dar una abstracción alta del objeto al cual nos estamos refiriendo.

Clases

La encapsulación da lugar a que las clases se dividan en dos partes:

  • Interfaz:Captura la visión externa de una clase, abarcando la abstracción del comportamiento común a los ejemplos de esa clase.
  • Implementación: Comprende la representación de la abstracción, así como los mecanismos que conducen al comportamiento deseado.

Formas de encapsular

  • Estándar: (Predeterminado)
  • Abierto : Hace que el miembro de la clase pueda ser accedido desde el exterior de la Clase y cualquier parte del programa.
  • Protegido : Solo es accesible desde la Clase y las clases que heredan (a cualquier nivel).
  • Semi cerrado : Solo es accesible desde la clase heredada.
  • Cerrado : Solo es accesible desde la Clase.

Ventajas

  1. Lo que hace el usuario puede ser controlado internamente (incluso sus errores), evitando que todo colapse por una intervención indeseada.
  1. Al hacer que la mayor parte del código esté oculto, se pueden hacer cambios y/o mejoras sin que eso afecte el modo de como los usuarios van a utilizar el código.

Utilidad

La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos.

Permite separar la interfaz de una clase de su implementación, o dicho en otras palabras: no es necesario conocer los detalles de cómo están implementadas las propiedades para poder utilizarlas. Los objetos funcionan a modo de caja negra, en la que están empaquetados los datos y las instrucciones para su manipulación, de las que conocemos solo lo necesario para utilizarla.

Ocultación de datos

El usuario de una clase en particular no necesita saber cómo están estructurados los datos dentro de ese objeto, es decir, un usuario no necesita conocer la implementación, a evitar que el usuario modifique los atributos directamente y forzándolo a utilizar funciones definidas para modificarlos (llamadas interfaces), se garantiza la integridad de los datos (por ejemplo, uno puede asegurarse de que el tipo de datos suministrados cumple con nuestras expectativas bien que los se encuentran dentro del periodo de tiempo esperado).

La encapsulación define los niveles de acceso para elementos de esa clase. Estos niveles de acceso definen los derechos de acceso para los datos, permitiéndonos el acceso a datos a través de un método de esa clase en particular, desde una clase heredada o incluso desde cualquier otra clase.

Niveles de acceso

  • Público: funciones de toda clase pueden acceder a los datos o métodos de una clase que se define con el nivel de acceso público. Este es el nivel de protección de datos más bajo.
  • Protegido: el acceso a los datos está restringido a las funciones de clases heredadas, es decir, las funciones miembro de esa clase y todas las subclases.
  • Privado: el acceso a los datos está restringido a los métodos de esa clase en particular. Este es nivel más alto de protección de datos.

Fuentes

  • Artículo Encapsulamiento. Disponible en "algonzalezpoo.wordpress.com". Consultado el 9 de febrero del 2012