Sunteți pe pagina 1din 9

Encapsulamiento

Elizabeth Monar Jadira Barriga Alex Tipan

Definicin de encapsulamiento
El encapsulamiento es la caracterstica de autonoma de la OO. Esta caracterstica permite generar componentes autnomos de software tomando una parte de funcionalidad y ocultando los detalles de la implementacin al mundo exterior. Los trminos mdulo, componente o bean se suelen utilizan en lugar de componente encapsulado de software. Una vez encapsulada, una entidad de software se puede visualizar como una caja negra.

Mensaje

Interfaz

Interfaz

Interfaz

Mensaje

Interfaz

Interfaz e implementacin:
Tres niveles de acceso:
Public: Permite acceso a todos los objetos. Protected: Permite acceso a la instancia y a cualquiera de las subclases. Private: Slo permite acceso a la instancia.

Un comportamiento que se quiera poner a disposicin del mundo exterior debe tener acceso pblico. Por el contrario, lo que se desee ocultar del mundo exterior debe tener acceso protegido o privado.

Caractersticas de un encapsulamiento eficaz


Un encapsulamiento eficaz permite escribir componentes autnomos de software. Las tres caractersticas de un encapsulamiento eficaz son:
Abstraccin. Ocultamiento de la implementacin. Divisin de la responsabilidad.

Abstraccin
La abstraccin es el proceso de simplificar un problema complejo. La abstraccin permite resolver un problema una vez y utilizar la solucin posteriormente en todo el dominio del problema. Ejemplo 1
Imaginemos una cola de personas ante un cajero en un banco. Tan pronto como el cajero est listo, la primera persona de la cola avanza a la ventanilla. La gente mantiene este orden: primero en entrar, primero en salir. Consideremos un establecimiento de venta rpida de hamburguesas. Conforme una hamburguesa llega al final de la banda transportadora, es colocada tras la ltima hamburguesa por preparar. As, la primera hamburguesa que se toma es tambin la primera que se prepar.

Ejemplo 2

Ambos dominios son un ejemplo de una cola primero en entrar, primero en salir (orden de elementos tipo FIFO). Entrada Salida

Ocultamiento de la implementacin
El ocultamiento de la implementacin presenta dos beneficios:
Proteger al objeto de los usuarios.
Mediante los Tipos Abstractos de Datos.

Proteger a sus usuarios del objeto.


Mediante la utilizacin de cdigo moderadamente ligado.

Tipos Abstractos de Datos


Un Tipo Abstracto de Dato (TDA) es un conjunto de datos y un conjunto de operaciones que se realizan con esos datos. Los TDA permiten definir nuevos tipos del lenguaje mediante el ocultamiento de los datos internos y el estado en una interfaz bien definida. Esta interfaz presenta al TDA como una sola unidad indivisible. La creacin de la clase Articulo de la Leccin 1 aade un nuevo tipo de dato. A continuacin, vamos a ver un ejemplo de esta misma clase pero sin encapsular.

Cmo proteger a los usuarios mediante el ocultamiento de la implementacin?


El ocultamiento de la implementacin conduce a un diseo ms flexible porque evita que los usuarios del objeto dependan estrechamente de la implementacin del objeto. As, el ocultamiento de la implementacin no slo protege al objeto, sino tambin a aquellos que lo utilizan pues fomenta la creacin de cdigo moderadamente ligado al objeto.
El cdigo moderadamente ligado es independiente de la implementacin de otros componentes. El cdigo estrechamente ligado depende intensamente de la implementacin de otros componentes.

Cmo proteger a los usuarios mediante el ocultamiento de la implementacin?


El encapsulamiento y el ocultamiento de la implementacin no son mgicos. Si se realizan cambios en una interfaz, ser necesario actualizar el cdigo dependiente de esa interfaz. Mediante el ocultamiento de los detalles y la escritura de software para una interfaz, se crea cdigo moderadamente ligado. El cdigo estrechamente ligado choca con el propsito del encapsulamiento: crear objetos independientes y reutilizables.

S-ar putea să vă placă și