Encapsulación en ABAP: qué es y cómo usarla

La encapsulación en ABAP protege el estado de un objeto y define cómo puede interactuar el resto de la aplicación con él. Esta guía explica visibilidad pública, protegida y privada, y cómo diseñar clases con responsabilidades claras.

¿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:

  1. Sección pública

Atributo: TIPO_CNTR – de tipo carácter de dos posiciones

  1. 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.

  1. Sección privada

Atributo: CLIENT de tipo cadena de caracteres dinámica.

Preguntas frecuentes sobre encapsulación

¿Qué es encapsulación en ABAP?

Es el principio de agrupar datos y comportamiento en una clase y controlar el acceso a sus componentes mediante visibilidad.

¿Cuándo usar atributos privados?

Cuando el estado interno no debe modificarse directamente y quieres exponer operaciones controladas mediante métodos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *