✒️ABAP POO Los Atributos, los Métodos y los Eventos
ABAP POO Los Atributos, los Métodos y los Eventos
ATRIBUTOS, MÉTODO, EVENTOS, TIPOS y CONSTANTES
ATRIBUTOS
Contienen los datos que pueden ser almacenados en los objetos de una clase. Pueden tener cualquier tipo de datos ABAP, conocidos también como PROPIEDADES.
El estado de un objeto viene determinado por el contenido de sus atributos.
Un tipo de atributos son las variables referenciadas, estas permiten crear y acceder a los objetos, de manera que si se definen en una clase permiten acceder a otros objetos desde dentro de la clase.
Existen de dos tipos:
Dependientes de instancia:
El contenido de los atributos es especifico de cada obejto.
Se declaran usando la sentencia DATA.
Independientes de instancia o estáticos:
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.
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 demás objetos de la clase.
EJEMPLO:
CLASS VEHICULO DEFINITION.
…..PUBLIC SECTION.
……….DATA: marca TYPE string. “atributo dependiente de instancia
……….CLASS-DATA: nro_vehiculos TYPE i…”atributo independiente de instancia
ENDCLASS.
Los atributos que definimos en una clase pueden ser de tres tipos:
Elementales: variables simples
Estructuras
Tipos Tabla
METODOS
Son procedimientos internos de una clase que definen el comportamiento 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 atributos privados de una clase solo pueden ser cambiados por métodos de la misma clase.
La definición y la interface de un método son similares a los módulos de funciones.
Un método se define en la parte declarativa de la clase y se implemente en la parte de implementación usando las sentencias:
CLASS VEHICULO DEFINITION.
….
….METHODS parar [ IMPORTING tipo TYPE i
……………………….EXPORTING detenido TYPE i
……………………….CHANGING manera TYPE i
……………………….RETURNING value(tiempo) TYPE i
………………………EXCEPTIONS exception
………………………RAISING exception_class ].
ENDCLASS
CLASS VEHICULO IMPLEMENTATION.
…METHOD parar.
….<sentencias>.
…ENDMETHOD.
ENDCLASS.
Se pueden declarar tipos de datos locales y objetos en los métodos
Los métodos se llaman mediante la sentencia CALL METHOD
Existen dos tipos de métodos:
Dependientes de instancia:
Se declara usando la sentencia 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 usando la sentencia CLASS-METHODS.
Solo pueden acceder a los atributos estáticos y desencadenar eventos estáticos.
EJEMPLO:
CLASS VEHICULO DEFINITION.
…PUBLIC SECTION.
……METHODS asignat_tipo IMPORTING a_marca TYPE string
a_modelo TYPE string. “método de instancia
……CLASS-METHODS obtener_nro_vehiculos RETURNING VALUE(nro) TYPE i. “Metodo estático
……DATA: marca TYPE string, modelo TYPE string. “atributos dependientes de isntancia
……CLASS-DATA nro_vehiculos TYPE i. “atributos estáticos o idependientes de isntancai
ENDCLASS
CLASS VEHICULO IMPLEMENTATION.
…METHOD asignar_tipo. “ método dependiente
……marca = a_marca.
……modelo = a_modelo.
…ENDMETHOD
...CLASS-METHOD obtener_nro_vehiculos. “método estático
……nro = nro_vehiculos.
…ENDMETHOD.
ENDCLASS
Los métodos de una clase pueden acceder a todos los atributos de su clase y modificar el estado de otros elementos,
Pueden tener un número ilimitado de parámetros importing, exporting y changing
Pueden ser pasados por valor o referencia
Todos los parámetros de entrada de un método (IMPORTING,CHANGING) pueden ser definidos como opcionales o por defecto utilizando los modificadores OPTIONAL o DEFAULT.
No tienen que ser necesariamente transferidos cuando se llama al objeto.
OPTIONAL: inicializado de acuerdo con su tipo
DEFAULT: permite añadir un valor inicial
Los métodos soportan el retorno del valor sysvrc debemos definir las excepciones del método mediante EXCEPTIONS.
EVENTOS
Son acontecimientos/sucesos que utilizan los objetos o las clases para desencadenar la ejecución de un método en otro objeto o clase.
Son conocidos como event handler methods.
Es 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.
Existe do tipos:
Dependientes de instancia:
Se declaran col la sentencia EVENTS.
Solo pueden ser desencadenados eu 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 el único tipo de eventos que puede ser desencadenado por un método estático.
TIPOS Y CONSTANTES
Se pueden definir tipos de datos ABAP dentro de una clase con las sentencias TYPES.
Los tipos de datos 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 calor se fija cuando son declaradas y no puede ser cambiado
Se declara con la sentencia CONSTANTS.
Las constantes existen solo una vez para todos los objetos de la clase.
Podemos usar el modificador READONLY después de escribir el tipo de la variable que acabemos de declarar. Esto significa que este atributo público que fue declarado con la sentencia DATA puede ser leído desde fuera de la clase. Pero solo se puede modificar por los métodos de la clase. Solo se puede usar este modificador dentro de la parte publica de la declaración de una clase.
 
 
 
Sobre el autor
Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para el Máster ABAP POO.
Josep Antoni Lopez Moyano
Profesión: It Manager - España - Legajo: QP26P
✒️Autor de: 375 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP HCM Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial