✒️ABAP POO Atributos, Métodos y Eventos

Publicación Académica por Oscar Perez

Publicación Académica creada y compartida por Oscar Perez para el tema Atributos, Métodos y Eventos.

Dentro del ámbito de estudios: Máster ABAP POO / Unidad 1: Introducción a la Programación Orientada a Objetos en ABAP.

¿Buscás una carrera con Futuro?

ABAP POO Atributos, Métodos y Eventos por Oscar Perez

Unidad-1-Lección-6: Atributos, Métodos y Eventos, Tipos y Constantes 1) Atributos

Contienen los datos que pueden ser almacenados en los objetos de una clase. Pueden tener cualquier tipo de datos ABAP. También son conocidos 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 de atributos:

· Dependientes de instancia: El contenido de los atributos es específico de cada objeto. 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 y 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 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.

AUDIO TIP 1: Los atributos que definimos en una clase pueden ser de tres tipos:

· Elementales, es decir, atributos simple tales como variables

· Estructuras

· Tipos Tabla

En el caso de la Clase “Vehiculo”, los atributos pueden ser marca, modelo, color, capacidad, etc.

2) Métodos

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 que ven en el ejemplo.

Se pueden declarar tipos de datos locales y objetos en los métodos) de la misma manera que en cualquier otro procedimiento ABAP. Los métodos se llaman mediante la sentencia

CALL METHOD nombre-metodo.

Existen dos tipos de métodos:

  • Dependientes de instancia: estos métodos se declaran 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: estos métodos se declaran usando la sentencia CLASS-METHODS. Sólo pueden acceder a los 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. "Método estático

DATA: marca type string, "Atributos dependientes de instancia

modelo TYPE string.

CLASS-DATA nro_vehiculos TYPE i. "Atributo independiente de instancia

ENDCLASS. "VEHICULO DEFINITION

CLASS VEHICULO IMPLEMENTATION. METHOD asignar_tipo. marca = a_marca. modelo = a_modelo. ENDMETHOD. "asignar_tipo METHOD obtener_nro_vehiculos. nro = nro_vehiculos. ENDMETHOD. "obtener_nro_vehiculos ENDCLASS. "vehiculo IMPLEMENTATION

AUDIO TIP 2: 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.

Todos los parámetros dentro de un método pueden ser pasados por valor o por referencia.

Todos los parámetros de entrada de un método (definidos dentro de Importing o Changing) pueden ser definidos como opcionales o por defecto utilizando los modificadores OPTIONAL o DEFAULT.

Estos parámetros no tienen que ser necesariamente transferidos cuando se llama al objeto.

Si utilizamos la adición OPTIONAL, el parámetro se mantendrá inicializado de acuerdo con su tipo. Con la adición DEFAULT, se nos permite añadir un valor inicial.

Tal como en los módulos de funciones, los métodos soportan el retorno del valor del sy-subrc. Para ello debemos haber definido las excepciones del método utilizando la palabra reservada EXCEPTIONS.

3) 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 manejan eventos (event handler methods).

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.

Existen dos tipos de eventos:

  • Dependientes de instancia: se declaran con la sentencia EVENTS. Sólo 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 el único tipo de ((eventos que puede ser desencadenado por un método estático.

En la próxima unidad veremos en detalle a los Eventos.

3) Tipos y Constantes

Se pueden definir tipos de datos ABAP dentro de 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 usando la sentencia CONSTANTS. Las constantes existen sólo una vez para todos los objetos de la clase.

AUDIO TIP 3: Cuando definimos tipos de datos dentro de una clase, podemos usar la adición READONLY luego de escribir el tipo de la variable que acabemos de declarar. Esto significa que el atributo público que fue declarado con la sentencia DATA, puede ser leído desde fuera de la clase, pero solo puede modificarse por métodos de la misma clase. Cabe destacar que solo se puede utilizar la adición READONLY dentro de la parte pública de la declaración de una clase.

 

:: Al igual que Oscar ¿Usted está dispuesto a aprender ABAP?

El lunes 18 Febrero 2019 comenzamos la 🎓Carrera Programador ABAP.
Juntos para realizar sus más grandes desafíos!

 Cargando presentación, aguarde unos instantes...

✒️Más Publicaciones Académicas sobre Tecnología SAP

Buscador de Publicaciones:


 

Recursos Free:

Los mejores recursos Libres y Gratuitos compartidos con la comunidad: