✒️ABAP La definición de Clases, Atributos, Métodos y Eventos
ABAP La definición de Clases, Atributos, Métodos y Eventos
LAS CLASES LOCALES Y GLOBALES.
Las clases en ABAP se pueden declarar globalmente o localmente. Las clases globales se definen en el generador de clases, a través de la transacción SE24 en el ABAP Workbench.
Cuando se una una clase en un programa ABAP el sistema busca primero una clase local con el nombre especificado. Si no encuentra ninguna entonces busca una clase global. A parte de la cuestión de la visibilidad, no hay ninguna diferencia usar una clase global o una clase local. Lo que si cambia sensiblemente es la manera en la que una clase local y una clase global son creadas.
Si se define una clase que se va a usar en un único programa, normalmente es suficiente con definir los componentes visibles de manera que la clase se ajuste a nuestro programa. Por otro lado, las clases globales deben estar preparadas para ser usadas en cualquier parte.
DEFINICION DE CLASES LOCALES.
Las clases locales son un conjunto de sentencias que están entre las sentencias CLASS...ENDCLASS.
En la definición de las clases se definen los componentes, y una parte de implementación, lo que se conoce como implementación de la clase en la que se implementan estos componentes.
La parte declarativa o definición de una clase está comprendida entre las sentencias:
CLASS<clases>DEFINITION.
....
ENDCLASS.
Si se declaran métodos en la parte declarativa de una clase, se deberá escribir también su parte de implementación. Está es la que va incluida entre las siguientes sentencias:
CLASS<class>IMPLEMENTACION.
...
ENDCLASS.
LA ESTRUCTURA Y COMPONENTES DE UNA CLASE.
La estructura de una clase se define principalmente basandose en :
•Una clase contiene componentes
•Cada componente se asigna a una sección de visibilidad.
•Las clases implementan métodos.
En los objetos ABAP la clases pueden definir los siguientes componentes:
•Atributos
•Metodos
•Eventos
LOS ATRIBUTOS
Son los campos de datos internos de una clase y pueden tener cualquier tip de datos ABAP.
El estado de un objeto viene determinado por el contenido de sus atributos. Un tipo de atributos son las variables referenciadas. Estás variables permiten crear y acceder a los objetos, de manera que si se definen en un clase permiten acceder a otros objetos desde dentro de la clase.
Existen dos tipos de atributos:
•Dependiente de instancia: dónde el contenido de los atributos es específico de cada objeto. Se declaran usando la sentencia DATA.
•Independientes de instancia o estáticos: dónde el contenido de los atributos definen el estado de la clase y es valido para todas las instancias de la clase.
Los atributos estáticos existen solo una vez para la clase. Se declaran usando la sentencia CLASS-DATA.
LOS 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. Esto les permite cambiar el contenido de los atributos de un objeto.
Los métodos poseen Interfase que permiten recibir y devolver valores después de la llamada.
La definición y la interface de un método son similares a las de los módulo de funciones.
METHOD<meth>.
.....
ENDMETHOD.
Los metodos se llaman mediante la sentencia CALL METHOD.
Existen tres tipos de métodos:
•Dependientes de instancia: se declaran usando la sentencia METHODS. Pueden acceder a todos los atributos de una clase y pueden desencadenar todos los eventos d una clase.
•Independientes de instancia o estáticos: se declaran usando la sentencia CLASS-METHODS.
•Especiales: las sentencias CONTRUCTOR y CLASS_CONTRUCTOR son automáticamente llamados cuando se crea un objeto CONTRUCTOR o cuando se accede por primera vez a los componentes de la clase CLASS_CONTRUCTOR.
LOS 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.
En una llamada normal a un método, el método puede ser llamado por cualquier número de usuarios. Cuando un evento es desencadenado, cualquier número de estos métodos puede ser llamado.
La unión entre el disparador del evento trigger y el manejador del evento handler no es establecida de antemano, si no en el entorno de ejecución. En las llamadas normales a métodos, el programa que llama determina los métodos a los que quiere llamar. Estos métodos tienes que existir.
El manejador de eventos determina los eventos a los cuales tiene que reaccionar. No tiene porque existir un método manejador de eventos registrados para cada evento. Los eventos de una clase pueden ser desencadenados en los métodos de la misma clase usando la sentencia RAISE EVENT.
Un método de la misma o diferente clase, se declara como método manejador de eventos utilizando la adicción FOR EVENT OF.
Los eventos tienen Interfase pero solo para los parámetros de salida.
El vínculo de unión entre el disparador y el manejador es establecido por el programador usando la sentencia SET HANDLER.
Existen dos tipos de eventos :
•Dependientes de instancia: se declaran con la sentencia EVENTS. Solo pueden ser desencadenados en un método dependiente de instancia.
•Independientes de instancias o estáticos: se declaran con la sentencia CLASS-EVENTS
LOS TIPOS Y LAS CONSTANTES.
Se pueden definir tipos de datos ABAP dentro de una clase con la sentencia TYPES.
Las constantes son un tipo especial de atributos estáticos. Su valor se fija cuando son declaradas y no pueden ser cambiados. Se declaran usando la sentencia CONSTANTS.
La parte declarativa o definición de una clase se divide en tres áreas de distinta visibilidad:
CLASS<class>DEFINITION.
PUBLIC SECTION.
.......
PROTECTED SECTION.
.......
PRIVATE SECTION.
.......
ENDCLASS.
Estás tres áreas definen la visibilidad externa de los componentes de la clase, esto es, la interface entre la clase y el usuario.
Cada componente de una clase ha de ser asignado a una de estas tres secciones.
•PUBLIC SECTION(parte Pública): todos los componentes declarados en la sección pública son accesibles para todos los métodos de la clase y de cualquier clase que herede de ella.
•PROTECTED SECTION( Parte Protegida): los componentes declarados en esta sección son accesibles para todos los métodos de la clase y de las clases que hereda de ella.
•PRIVATE SECTION (parte privada): los componentes declarados en esta sección son solo visibles en los métodos de la misma clase.
 
 
 
Sobre el autor
Publicación académica de Gerardo Jose Campos Tovar, en su ámbito de estudios para la Carrera Consultor ABAP.
Gerardo Jose Campos Tovar
Profesión: Barbero - Argentina - Legajo: JH51R
✒️Autor de: 61 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Mi principal motivo es lograr obtener los conocimientos necesarios para as? lograr cambiar de ambiente de trabajo y superar mis objetivos laborales y economicos.
Certificación Académica de Gerardo Campos