CVOSOFT UNITED STATES OF AMERICA | 17 años de ingeniería dedicados a formación profesional de Consultores
SAP | +info
ABAP La definición de Clases, Atributos, Métodos y Eventos

La definición de Clases, Atributos, Métodos y Eventos
Clases locales y globales
- Las clases pueden declararse globalmente (SE24, Class Pool) o localmente (dentro de un programa ABAP).
- Las clases globales son accesibles por todos los programas del sistema R3; las locales solo por el programa donde se definen.
- Al buscar una clase, el sistema prioriza la local y, si no la encuentra, busca la global.
- No hay diferencia funcional entre usar una clase local o global, solo en visibilidad y alcance.
- Las clases locales son adecuadas para uso único en un programa; las globales están diseñadas para reutilización en múltiples programas.
Declaración e implementación de clases
- Cada clase tiene una parte declarativa (definición) y una parte de implementación.
- La parte declarativa incluye atributos, métodos y eventos y se sitúa al principio del programa para clases locales.
- La parte de implementación contiene el código de los métodos y se delimita con sentencias específicas de inicio y fin.
- Los componentes declarados forman la interfaz externa de la clase y deben ser únicos dentro de ella.
Atributos, tipos y constantes
- Los atributos son campos de datos internos que determinan el estado del objeto.
- Atributos de instancia (DATA) son específicos de cada objeto; atributos estáticos (CLASS DATA) son únicos para la clase y compartidos por todas sus instancias.
- Los atributos estáticos son accesibles desde cualquier contexto de ejecución de la clase.
- Se pueden definir tipos de datos ABAP dentro de la clase con la sentencia TYPE; son únicos para toda la clase.
- Las constantes (CONSTANT) son atributos estáticos cuyo valor es fijo e inmutable.
Métodos
- Los métodos son procedimientos internos que definen el comportamiento de los objetos.
- Pueden acceder a todos los atributos de la clase y poseen una interfaz de parámetros (entrada y salida).
- Se declaran en la parte declarativa y se implementan en la parte de implementación usando METHOD/END METHOD.
- Tipos de métodos:
- Instancia (METHOD) – acceden a atributos de instancia y pueden disparar eventos.
- Estáticos (CLASS METHOD) – solo acceden a atributos estáticos y pueden disparar eventos estáticos.
- Especiales: constructor y class constructor, llamados automáticamente al crear un objeto o al acceder a la clase.
- Los métodos se invocan con CALL METHOD.
Eventos y visibilidad
- Los eventos permiten que un objeto o clase desencadene la ejecución de un método manejador en otro objeto o clase.
- Los manejadores de eventos se registran dinámicamente con SET HANDLER; la unión entre disparador y manejador se establece en tiempo de ejecución.
- Eventos pueden ser de instancia (EVENT) o estáticos (CLASS EVENT).
- Los componentes de una clase se organizan en secciones de visibilidad: PUBLIC (accesibles a todos), PROTECTED (accesibles a la clase y sus subclases) y PRIVATE (accesibles solo dentro de la clase).
Diseño de clases: encapsulación
Uso de read only en atributos públicos
- read only se escribe después del tipo al declarar una variable dentro de la clase.
- Permite que el atributo sea leído desde fuera, pero solo modificado por métodos de la misma clase.
- Su uso está limitado a la sección pública de la declaración de la clase.
Visibilidad pública y privada
- Los atributos accesibles directamente por usuarios externos son los públicos.
- Los componentes públicos conforman la interfaz de la clase.
- La sección privada se conoce como ocultación de información o encapsulación.
Interfaz de la clase y encapsulación
- La encapsulación protege al usuario aislando la implementación interna.
- Los componentes privados pueden modificarse sin alterar la interfaz pública.
- La interfaz permanece estable mientras la implementación interna cambie.
Impacto de cambios en componentes públicos
- Modificar componentes públicos de forma incompatible obliga a los usuarios externos a adaptar su código.
- Cambios solo en la implementación interna no son percibidos por los usuarios.
Buenas prácticas y recomendaciones
- Utilizar atributos públicos con moderación.
- Evitar modificar los componentes públicos de la clase.
- Mantener la interfaz estable para no afectar a los usuarios externos.
Sugerencias
- Marcar los atributos que solo requieran lectura externa con read only.
- Limitar la exposición de atributos públicos y usar métodos de acceso.
- Documentar claramente la interfaz pública y evitar cambios incompatibles.
- Implementar pruebas que verifiquen que los cambios internos no rompen la interfaz.
 
Escanear / Compartir
 
 
Sobre el autor
Publicación académica de Juan Ignacio Romero, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.