¿Qué es y cómo se utiliza la encapsulación?
Es el término que define formalmente la fusión dentro del mismo objeto de sus datos y métodos (comportamiento).
Los objetos son tratados como “cajas negras”, de manera que sólo sus métodos pueden actuar sobre sus datos, brindando independencia en la implementación de los mismos.
Los objetos restringen la visibilidad de sus recursos (atributos y métodos) al resto de usuarios.
Cada objeto posee una interface que determina la manera de interactuar con él. La implementación del objeto (su interior) es encapsulada, lo que quiere decir que desde fuera el objeto es invisible.
Podemos entender el encapsulamiento como la visibilidad permitida sobre el objeto.
Cada componente de una clase ha de ser asignado a una de estas tres secciones:
PUBLIC SECTION – todos los componentes declarados en la sección pública son accesibles para todos los usuarios de la clase y para todos los métodos de la clase y de cualquier clase que herede de ella.
PROTECTED SECTION – todos los componentes declarados en la sección protegida son accesibles para todos los métodos de la clase y de las clases que heredan de ella. Los componentes protegidos conforman la interface entre una clase y todas sus subclases.
PRIVATE SECTION Los componentes declarados en la sección privada son sólo visibles en los métodos de la misma clase. Los componentes privados no forman parte de la interfaz externa de la clase.
En este artículo vamos a crear un programa ejecutable con una clase llamada CONTRATO con los siguientes componentes en cada sección de encapsulación: pública, protegida y privada:
- Sección pública
Atributo: TIPO_CNTR – de tipo carácter de dos posiciones
- Sección protegida
Atributo: FECHA_ALTA – de tipo SYDATUM.
Método: SET_FECHA_ALTA. Utiliza un parámetro IMPORTING para establecer el valor del atributo FECHA_ALTA.
- Sección privada
Atributo: CLIENT de tipo cadena de caracteres dinámica.