domingo, 21 de noviembre de 2010

Característica POO. Encapsulamiento

Lenguajes de programación - PUNTOS EXTRA

Hola compañeros, ahora les hablaré e una de las características de la programación orientada a objetos.

Encapsulamiento es ocultar el estado, o sea ocultar los datos miembros de un objeto de tal forma que solo se puedan cambiar a través de las operaciones definidas para este objeto.

Cada objeto se encuentra aislado del exterior y la aplicación se reduce a un agregado de objetos. Este aislamiento protege a los datos asociados a un objeto para que no se modifiquen por quien no tenga derecho a acceder a ellos, eliminando así efectos secundarios e interacciones.
De esta forma el usuario de la clase puede hacer obvia la implementación de los métodos y propiedaddes para solo saber como usarlos. Por otro lado se evita que el usuario pueda cambiar el estado de manera imprevista e inconrolada.

El encapsulamiento es como meter en paquees los métodos y atributos dentro de un objeto, mediante una interfaz gráfica. La clave se encuentra en la envoltura del objeto.
Las variables del objeto se encuentran en el centro del objeto, los métodos rodean y esconden el centro del objeto de los demás objetos del programa. Al envolver las variables de un objeto con la protección de sus métodos se le llama encapsulamiento. El encapsulamiento de variables y métodos en un componente de un programa ordenado tiene dos grandes beneficios para los desarrolles de estos softwares. El encapsulamiento trata de unir en la clase las características y comportamientos, o sea variables y métodos, tener todos estos en una sola entidad. En los lenguajes estructurados esto es imposible. El encapsulamiento se logra gracias a la abstracción y el ocultamiento. 

Las clases se dividen en dos partes, por la encapsulación.

  • Interface: captura la visión externa de la clase, tomando en cuenta la abstracción del comportamiento común a los ejemplos de esta clase
  • Implementación: esta maneja la representación de la abstracción, así como los procesos que conducen al comportamiento deseado.

Formas de encapsulación

  • Estándar (predeterminado)
  • Abierto: el miebro de la clase puede ser accedido desde fuera de la clase y cualquier parte del programa
  • Protegido: es accesible solo desde la clase y las clases que heredan
  • Semi Cerrado: solo se puede acceder desde la clase heredada
  • Cerrado: solo es accesible desde la clase

El usuario de una clase no necesita conocer como están estructurados los datos dentro de ese objeto, o sea un usuario no necesita conocer la implementación. Al prohibir que el usuario modifique atributos directamente y haciendo que utilice funciones definidas para poder modificarlos (interfaces), se asegura la integridad de los datos. 

La encapsulación define los distintos niveles de acceso para elementos de esta clase. Estos niveles de acceso deciden los derechos para acceder a los datos, permitiendo este acceso a través de una función de esa clase, desde una clase heredada o también desde cualquier otra clase. Existen tres niveles de acceso.
Público. Son métodos de toda clase con los que puede acceder a los datos de una clase que se define con el nivel de acceso público. Es el nivel de protección más bajo.

Protegido. No permite el acceso a los datos a las funciones de clase heredadas, o sea las funciones miembro de esa clase  todas sus subclases.

Privado. El acceso a los datos está prohibido a los métodos de esa clase en particular. Es el nivel más alto de protección.

2 comentarios: