Encapsulamiento
Significa reunir a todos los elementos
que pueden considerarse pertenecientes a una misma entidad, al mismo nivel
de abstracción.
Esto permite aumentar la cohesión de
los componentes del sistema. Algunos autores confunden este concepto con el
principio de ocultación, principalmente porque se suelen emplear
conjuntamente.
Principio de ocultación
Cada objeto está aislado del exterior,
es un módulo natural, y cada tipo de objeto expone una interfaz a otros
objetos que especifica cómo pueden interactuar con los objetos de la clase.
El aislamiento protege a las
propiedades de un objeto contra su modificación por quien no tenga derecho a
acceder a ellas, solamente los propios métodos internos del objeto pueden
acceder a su estado.
Esto asegura que otros objetos no
pueden cambiar el estado interno de un objeto de maneras inesperadas,
eliminando efectos secundarios e interacciones inesperadas.
Algunos lenguajes relajan esto,
permitiendo un acceso directo a los datos internos del objeto de una manera
controlada y limitando el grado de abstracción. La aplicación entera se
reduce a un agregado o rompecabezas de objetos.