![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP POO Los Atributos, los Métodos y los Eventos
ABAP POO Los Atributos, los Métodos y los Eventos
![ABAP POO Los Atributos, los Métodos y los Eventos ABAP POO Los Atributos, los Métodos y los Eventos](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/104.jpg)
F ATRIBUTOS .
También conocidos como PROPIEDADES. Contienen los datos que pueden ser almacenados en los objetos de una clase. Pueden tener cualquier tipo de datos ABAP.
TIPOS DE ATRIBUTOS:
Ø Dependiente de instancia-
El contenido de los atributos es específico de cada objeto, se declaran con la sentencia DATA.
Ø Independiente de instancia o Estáticos-
Aquí el contenido de los atributos define el estado de la clase y es válido 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. Son accesibles desde todo el entorno de ejecución de la clase.
Todos los objetos de una clase pueden acceder a sus atributos estáticos. Si se cambia un atributo estático en un objeto, el cambio es visible en todos los objetos de la clase.
CLASS vehiculo DEFINITION.
PUBLIC SECTION.
DATA: marca TYPE string. “atributo dependiente de instancia
CLASS-DATA: nro_vehiculos TYPE i. “atributo dendiente de instancia
ENDCLASS.
F MÉTODOS.
Son procedimientos internos de una clase que definen el comportamiento de un objeto.
Los métodos también poseen una interfaz con parámetros que le permite recibir valores cuando son invocados y devolver valores después de la llamada.
è Los atributos privados de una clase solo pueden modificarse por métodos de la misma clase.
è La definición e interface de un método son similares a las de los módulos de funciones.
è Un método tiene definición (en la parte declarativa de la clase
CLASS <clase> DEFINITION.
METHODS metodo1
[IMPORTING dato1 TYPE string,
EXPORTING dato1 TYPE string,
CHANGING dato1 TYPE string,
RETURNING value (dato1) TYPE string,
EXCEPTIONS exception
RAISING exception-class ].
è Y tiene una implementación.
CLASS <clase> IMPLEMENTATION.
METHOD method_name.
----
ENDMETHOD.
ENDCLASS.
è Se pueden declarar tipos de datos locales y objetos en los métodos. Los métodos se llaman con CALL METHOD.
Existen 2 tipos de métodos:
Dependientes de Instancia. Se declaran con METHODS, pueden acceder a todos los atributos de una clase y pueden desencadenar todos los eventos de una clase.
Independientes de Instancia o estáticos. Se declaran con CLASS-METHODS
Solo pueden acceder a atributos estáticos y desencadenar eventos estáticos.
CLASS vehiculo DEFINITION.
PUBLIC SECTION.
METHODS asignar_tipo IMPORTING a_marca TYPE string “Método de instancia
a_modelo TYPE string.
CLASS-METHODS obtener_nro_vehiculos RETURNING VALUE(nro) type i.
DATA: Marca type string, “Atributos dependientes de instancia
Modelo type string.
CLASS-DATA nro_vehiculos TYPE i. “Atributo independiente de instancia
ENDCLASS.
CLASS vehiculo IMPLEMENTATION.
METHOD asignar_tipo.
marca = a_marca.
modelo = a_modelo.
ENDMETHOD.
METHOD obtener_nro_vehiculos.
Nro = nro_vehiculos.
ENDMETHOD.
ENDCLASS.
è Los métodos de una clase pueden acceder a todos los atributos de una clase y modificar el estado de otros elementos.
è Pueden tener un número ilimitado de parámetros (Importing, Exporting y changing)
è Todos lo parámetros dentro de un método pueden pasarse por valor o por referencia.
è Todos los parámetros de entrada de un método (los definidos con IMPORTING o CHANGING pueden ser opcionales (OPTIONAL) u obligatorios(DEFAULT).
è Cuando definimos los parámetros como Opcionales el parámetro se mantiene inicializado de acuerdo a su tipo y cuando se pone como Default permite introducir un valor inicial.
è Los métodos también soportan el retorno del sy-subrc pero tiene que definirles excepciones (EXCEPTIONS).
F 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 llaman eventos (Event Handler Methods)
El método puede ser llamado por cualquier cantidad de usuarios. Cuando un evento es desencadenado cualquier número de estos métodos puede ser llamado.
Existen 2 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 Instancia o estáticos. Se declaran con la sentencia CLASS-EVENTS. Todos los métodos pueden desencadenar eventos Estáticos. Los eventos estáticos son los únicos eventos que puede ser desencadenado por un método estático.
F TIPOS Y CONSTANTES
Se pueden definir tipos de datos de ABAP en una clase con la sentencia TYPES. Los tipos de datos no son específicos de cada instancia y existen una sola vez para todos los objetos de la clase.
Las constantes son un tipo especial de atributos estáticos. Su valor se fija cuando son declaradas y no puede ser cambiado. Se declaran con CONSTANTS.
La constantes existen solo una vez para todos los objetos de la clase.
Cuando se definen tipos dentro de la declaración (PUBLICA) de una clase, se les puede agregar la sentencia READ ONLY después del tipo de variable, para que puedan ser leidos desde fuera de la clase pero solo puede ser modificado por los métodos propios de la clase.
CONSTANTS: pos TYPE i value 30.
TYPES : BEGIN OF ty_planta,
Planta TYPE plant,
Pais TYPE country,
Region TYPE region.
TYPES : END OF ty_planta.
 
 
 
Sobre el autor
Publicación académica de Elda Martinez Soto, en su ámbito de estudios para el Máster ABAP POO.
Elda Martinez Soto
Profesión: Ing. en Sistemas Computacionales - Mexico - Legajo: WW94O
✒️Autor de: 30 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Elda Martinez