✒️ABAP La definición de Clases, Atributos, Métodos y Eventos
ABAP La definición de Clases, Atributos, Métodos y Eventos
1) CLASES LOCALES y GLOBALES
Las Clases se se pueden declarar como locales o globales. Las clases globales se definen en la transacción SE24 ( administrados de clases e interfases)
Clases Globales - Estas clases son almacenadas en el Class Pools, y todos los programas pueden accesarlas.
Clases Locales - Se definen en un programa ABAP y solo pueden ser invocadas desde el programa en el que se ha definido.
Cuando se usa una clase en un programa ABAP primero busca en las clases locales y si no la encuentra la busca en la clase global.
2)DEFINICIÓN DE CLASES LOCALES
Son las sentencias que se encuentran entre CLASS....ENDCLASS. La definición consta de:
- Parte declarativa - Definición de la clases, en la que se definen los componentes (Atributos, métodos y eventos)
CLASS <class> DEFINITION
ENDCLASS.
- Parte de implementación - Es donde se implementan los componentes. Si se declaran métodos en la parte declarativa, se deberá escribir también su parte de implementación, que va en la siguiente secuencia:
CLASS <class> IMPLEMENTATION.
ENDCLASS
3) ESTRUCTURA Y COMPONENTES DE UNA CLASE
La estructura de la clase se define:
- Una clase tiene componentes
- Cada componente se asigna a una sección de visibilidad
- Las clases implementan métodos
Todos los componentes son declarados en la parte declarativa. Todos los componentes de una clase son visibles dentro de la clase.
Hay dos tipos de componentes:
- Dependientes de la instancia. Son aquellos que existen separadamente para cada objeto de una clase.
- Independientes de la instancia o estáticos. Son aquellos que existen sólo una vez para la clase entera, independiente del número de instancias.
En los objetos ABap se pueden definir los siguientes componentes: Atributos, métodos y eventos
4)ATRIBUTOS.
Son los campos de datos internos de una clase y pueden tener cualquier tipo de datos ABAP.
Un tipo de atributos son las variables referenciadas que permite acceder a otros objetos dentro de la clase.
Existen dos tipos de atributos:
- Dependientes de la instancia. El contenido de los atributos es especifico para cada objeto. Se declaran con la sentencia DATA
- Independientes de la instancia o estáticos. Donde el contenido de loa atributos define el estado de la clase y es valido para todas las instancias, se declara usando CLASS-DATA
5)METODOS
Son procedimientos internos de una clase que definen el comportamiento de un objeto.
Los métodos pueden acceder a todos los atributos de una clase y es lo que les permite cambiar el contenido de los atributos de un objeto. Los métodos poseen una interface con parámetros que les permite recibir valores cuando son invocados y devolver valores después de la llamada.
Los métodos se definen en la parte declarativa de la clase y se implementa en la parte de implementación con las sentencias:
METHOD <meth>
ENDMETHOD.
Y se llaman cpn la sentencia CALL METHOD.
Existen tres tipos de métodos:
- Dependientes de la instancia. Se declara usando la sentencia METHODS, pueden acceder a todos loa atributos de una clase y disparar todos los eventos.
- Independientes de la instancia o estáticos. Se declara usando CLASS-METHODS, solo pueden acceder a los atributos estáticos y eventos estáticos
- Especiales: Son 2 métodos que se llaman CONTRUCTOR (llamado cuando se crea un objeto) y CLASS_CONSTRUCTOR ( Cuando se accede por primera vez a los componentes de la clase)
6) EVENTOS.
Son acontecimientos o sucesos que utilizan los objetos o las clases para desencadenar la ejecución de un método en otro objeto o clase
Estos métodos se llaman métodos que manejan eventos (Event handler methods). No tiene porque existir un método manejador de eventos para cada evento. Los eventos pueden ser desencadenados usando la sentencia RAISE EVENT.
Un método se declara como manejador de eventos utilizando la adición FOR EVENT OF
La interface de los eventos tienen parámetros de salida ( parámetros pasados por el disparador al método manejador de eventos que los recibe de entrada.
El vinculo entre el disparador y manejador se establece usando la sentencia SET HANDLER.
Existen dos tipos de eventos.
- Dependientes de la instancia. Se declara usando la sentencia EVENTS, y solo pueden ser desencadenados en un método dependiente de instancia.
- Independientes de la instancia o estáticos. Se declara usando CLASS-EVENTS, solo pueden ser desencadenados por un método estático.
7) TIPOS Y CONSTANTES
Se pueden definir tipos de datos ABAP con la sentencia TYPES, los tipos de datos no son especificos de cada instancia y existen una sola vez para todos los objetos de la clase.
Las contantes se declaran con la sentencia CONSTANTS y son un tipo especial de atributo estático, existen solo una vez para todos los objetos de la clase.
Se puede utilizar la adición READ ONLY despues de la variable que se acaba de declarar y significa que el atributo publico puede ser leído fuera de la clase pero solo será modificado por métodos de la misma clase.
8) VISIBILIDAD DE UNA CLASE
La parte declarativa de una clase se divide en tres áreas de distinta visibilidad:
CLASS <class> DEFINITION
PUBLIC SECTION
PROTECTED SECTION
PRIVATE SECTION
ENDCLASS.
Cada componente debe ser asignado a cada una de estas secciones:
- PUBLIC SECTION. Todos los componentes son accesibles para todos los usuarios de la clase. Se le conoce como la interfaz de la clase.
- PROTECTED SECTION. Todos los componentes son accesibles para todos los métodos de la clase y de las clases que heredan de ella,
- PRIVATE SECTION. Todos los componentes son sólo visibles en los métodos de la misma clase. Se le conoce como Ocultación de la información o encapsulación.
 
 
 
Sobre el autor
Publicación académica de Maria Guadalupe Gonzalez Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP.
Maria Guadalupe Gonzalez Sanchez
Mexico - Legajo: LB83R
✒️Autor de: 147 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP BI / BW BO Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial