✒️ABAP La definición de Clases, Atributos, Métodos y Eventos
ABAP La definición de Clases, Atributos, Métodos y Eventos
DEFINICION DE CLASES, ATRIBUTOS, METODOS Y EVENTOS:
Transacción SE24: Generador de Clases. Las clases se almacenan en el Class Pool. Las Clases Locales se definen en un programa ABAP y solo pueden ser invocadas desde el programa en que se han definido.
DEFINICION DE CLASES LOCALES:
<CLASS <nombre_clase_local> DEFINITION. ........................ ENDCLASS.>
CLASS counter DEFINITION. PUBLIC SECTION. METHODS: set IMPORTING value(set_value) TYPE i. increment, get EXPORTING value(get_value) TYPE i. PRIVATE SECTION. DATA count TYPE i. ENDCLASS.
Parte Declarativa: Declaración de Atributos, Métodos y Eventos. Pertenece a los datos Globales del programa, por tanto se ha de situar al principio del programa.
Parte Implementación: En caso de Métodos en la parte Declarativa de la clase, es necesaria la parte de Implementación. En la parte de Implementación, se definen todos los Métodos de la clase. Cualquier parte que no forme parte de este bloque no será accesible:
<CLASS <nombre_clase_local> IMPLEMENTATION. ......... ENDCLASS.>
CLASS counter IMPLEMENTATION. METHOD set. count = set_value. ENDMETHOD. METHOD increment. ADD 1 TO count. ENDMETHOD. METHOD get. get_value = count. ENDMETHOD. ENDCLASS.
ESTRUCTURA Y COMPONENTES DE UNA CLASE:
- Una clase contiene componentes.
- Cada componente se asigna a una sección de visibilidad (público, protegido, privado).
- Las clases implementan métodos.
Los componentes son declarados en la parte declarativa, definen los atributos de los objetos de la clase. Pueden ser dependientes o independientes de instancia (estáticos).
Tipos de componentes de los objetos ABAP:
- Atributos
- Métodos
- Eventos
ATRIBUTOS: Campos de datos de una clase (cualquier tipo de dato ABAP).
- Dependientes de instancia: el contenido es específico de cada objeto (Definición: sentencia DATA).
- Independientes de instancia (estáticos): el contenido define el estado de la clase. Válido para todas las instancias de la clase. (Definición: sentencia CLASS-DATA).
METODOS: Son procedimientos internos de una clase que definen el comportamiento de un objeto. Acceso a todos los atributos de una clase. Pueden recibir valores al ser invocados y devolver valores posteriormente. Se define en DEFINITION y se implementa en IMPLEMENTATION.
CALL METHOD, para llamar a los métodos.
- Dependientes de instancia: Pueden acceder a todos los tributos de una clase y desencadenar todos los eventos de la misma Declaración: sentencia METHODS.
- Independientes de instancia o estáticos: Sólo pueden acceder a atributos estáticos y desencadenar eventos estáticos. Declaración: sentencia CLASS-METHODS.
- Especiales: CONSTRUCTOR (automáticamente llamados cuando se crea un objeto) y CLASS-CONSTRUCTOR (llamado cuando se accede por primera vez a los componentes de la clase).
EVENTOS (Event handler methods): Acontecimientos o sucesos que utilizan los objetos o las clases para desencadenar la ejecución de un método en otro objeto o clase.
- Dependientes de instancia: solo pueden ser desencadenados en un método dependiente de instancia. Declaración: EVENTS.
- Independientes de instancia o estáticos: son el único tipo de evento desencadenado por un método estático. Declaración: CLASS-EVENTS
TIPOS Y CONSTANTES:
- TYPES : para definir tipos de datos
READ ONLY. El atributo publico puede ser leído desde fuera pero sólo modificado por métodos de la misma clase.
- CONSTANTS: para definir constantes
VISIBILIDAD DE UNA CLASE:
- PUBLIC SECTION: Todos los componentes declarados en esta sección son accesibles para todos los usuarios y métodos de la clase y desde cualquier clase que herede de ella. Conforman la interfase entre clase y usuario.
- PROTECTED SECTION: Los componentes aquí declarados son accesibles para todos los métodos de la clase y de las clases que hereden de ella. Son el interface entre una clase y sus subclases.
- PRIVATE SECTION: Los componentes aquí declarados son sólo visibles en los métodos de la misma clase. No forman parte de la interface externa de la clase.
 
 
 
Sobre el autor
Publicación académica de Juan Ignacio De Tejada Santiago, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Ignacio De Tejada Santiago
Profesión: Informatico - España - Legajo: NW89P
✒️Autor de: 219 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Certificación Académica de Juan De