✒️ABAP La definición de Clases, Atributos, Métodos y Eventos
ABAP La definición de Clases, Atributos, Métodos y Eventos
UNIDAD 5 Lección 2: Definición de Clases, Atributos, Métodos y Eventos Clases Globales y Locales: - Las Clases Globales se definen en Trx SE24-Class Builder, y son almacenadas en Class Pool en librería de clases en repositorio R/3. Todos los programas ABAP pueden acceder a las clases globales. - Las Clases Locales son definidas en programa ABAP, y sólo pueden ser invocadas desde el programa ABAP que las definió. - Cuando un programa ABAP usa una clase busca primero una clase local, y luego una clase global. Clases Locales: - Conjunto de sentencias entre CLASS...ENDCLASS. - Clase está compuesta de parte declarativa (define sus componentes: atributos, métodos, eventos), y parte de implementación (implementa sus métodos): Estructura y Componentes de una Clase: - La estructura de una clase de define basándose en: Una clase contiene componentes. Cada componente se asigna a una sección de visibilidad (público, protegido, o privado). Las clases implementan métodos. - Hay dos tipos de componentes en una clase: Dependientes de instancia: existen separadamente para cada objeto de la clase. Independientes de instancia (estáticos): existen sólo una vez para la clase entera. - ATRIBUTOS: Son los campos de datos internos de una clase, y pueden tener cualquier tipo de datos ABAP. Un tipo de atributo son las vbles referenciadas, que permiten crear y acceder a otros objetos. Tipos de atributos: - MÉTODOS: Procedimientos internos de una clase que definen el comportamiento de un objeto. Pueden acceder a todos los atributos de una clase, por tanto del objeto. Los métodos poseen una interfase con parámetros que les permite recibir/devolver valores. Atributos privados sólo pueden ser modificados por métodos de la misma clase. La definición y la interfase de un método son similares a los módulos de funciones. Un método se declara en parte declarativa de clase y se implementa en parte de implementación usando: En los métodos se pueden declarar tipos de datos locales y objetos, tal cual otros procedimientos ABAP. Tipos de métodos: - EVENTOS: Acontecimientos o sucesos que usan los objetos o clases para desencadenar la ejecución de un método (event handler method) en otro objeto o clase. El event handler method (método llamado por evento) determina los eventos a los cuales tiene que reaccionar, y se declara usando la adición FOR EVENT OF. Los eventos de una clase pueden ser desencadenados en los métodos de la misma clase usando RAISE EVENT. Los eventos tienen parámetros de salida, que son pasados por el disparador o trigger (RAISE EVENT) al manejador de eventos o handler, que los recibe como parámetros de entrada. El vínculo de unión entre trigger y handler es establecido dinámicamente en programa usando SET HANDLER. Cuando un evento es disparado, el correspondiente "handler" es ejecutado en todas las clases registradas para ese handler. Tipos de eventos: Tipos y Constantes: - Se usa TYPES dentro de una clase para definir tipos de datos ABAP. - Los Tipos de datos son estáticos (=no-dependientes de instancia), por tanto, existen una sola vez para todos los objetos de la clase. - Las Constantes son un tipo especial de atributos estáticos, y su valor se fija cuando son declaradas. - Las Constantes se declaran usando CONSTANTS. - Al declarar un tipo de datos se puede usar adición READONLY (después de tipo de la vble), sólo dentro de PUBLIC SECTION. La adición READONLY significa que el atributo público puede ser leído desde afuera de la clase pero sólo podrá ser modificado por métodos de la misma clase. Visibilidad de una Clase: La parte declarativa de una clase se divide en tres áreas de distinta visibilidad: Public Section: Componentes accesibles por usuarios de clase, todos los métodos de la clase, y cualquier clase que herede de ella. Los componentes públicos conforman la interface entre la clase y el usuario. Protected Section: Componentes accesibles por todos los métodos de la clase y de las clases que hereden de ella. Los componentes protegidos conforman la interface entre la clase y sus subclases.
CLASS clase DEFINITION. ... ENDCLASS "se sitúa al principio del programa (datos globales).
CLASS clase IMPLEMENTATION. ... ENDCLASS "implementa los métodos de la clase.
- A.dependiente de instancia: específico de cada instancia, se declaran usando DATA.
- A.independiente de instancia o estático: define estado de clase, se declaran usando CLASS-DATA.
Si se modifica atributo estático de un objeto, afecta a todos los demás objetos de la clase.
METHOD <método>. ... ENDMETHOD.
y se llaman usando:
CALL METHOD <método>.
- M.dependiente de instancia: se declaran con METHODS, y acceden a todos los atributos y desencadenan todos los eventos de clase.
- M.independiente de instancia o estático: se declaran con CLASS-METHODS, y acceden sólo a atributos estáticos y desencadenan sólo eventos estáticos.
- M.especiales: llamados automáticamente cuando se crea un objeto (método CONSTRUCTOR) o cuando se accede por primera vez a los componentes de la clase (método CLASS_CONSTRUCTOR).
- E.dependiente de instancia: se declaran con EVENTS, y sólo pueden ser desencadenados en un método dependiente de instancia.
- E.independiente de instancia o estático: se declaran con CLASS-EVENTS, y todos los métodos (dependiente o independiente de instancia) pueden desencadenar eventos estáticos.
 
 
 
Sobre el autor
Publicación académica de Victor Wong, en su ámbito de estudios para la Carrera Consultor ABAP.
Victor Wong
Profesión: Técnico en Computación E Informática - Peru - Legajo: JK17P
✒️Autor de: 85 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor ABAP Nivel Inicial