✒️ABAP POO / Los Atributos, los Métodos y los Eventos Por Exequiel Acevedo
ABAP Los Atributos, los Métodos y los Eventos

¿Qué son los atributos en POO (y en ABAP)?
Los atributos son las variables internas de una clase estado ​. Representa el estado o las características de los objetos que se crean a partir de esa clase.
En pocas palabras:
Los atributos son los "datos" del objeto.Ejemplo simple:
CLASS zcl_auto DEFINITION.
PUBLIC SECTION.
DATA: color TYPE string,
velocidad_maxima TYPE i.
ENDCLASS.
y `En este caso, los atributos colory velocidad_maxima son características de un automóvil.
Tipos de atributos según su comportamiento
Atributos de instancia
Pertenecen a cada objeto creado .
Cada objeto tiene su propia copia.
Se define con DATA.
DATA: velocidad TYPE i. "cada objeto tiene su propia velocidad
Atributos estáticos
Son compartidos entre todos los objetos de la clase.
Se define con CLASS-DATA.
Útiles para contadores, configuraciones comunes, etc.
CLASS-DATA: contador TYPE i. "compartido entre todos los autos
Control de acceso con atributosEs buena práctica declarar los atributos como PRIVATEy usar métodos SETyGET para modificarlos y acceder a ellos, así mantenés el principio de encapsulamiento .
CLASS zcl_auto DEFINITION.
PRIVATE SECTION.
DATA: color TYPE string.
PUBLIC SECTION.
METHODS: set_color IMPORTING iv_color TYPE string,
get_color RETURNING VALUE(rv_color) TYPE string.
ENDCLASS.
CLASS zcl_auto IMPLEMENTATION.
METHOD set_color.
color = iv_color.
ENDMETHOD.
METHOD get_color.
rv_color = color.
ENDMETHOD.
ENDCLASS.
En resumen
Los atributos son los datos o características de un objeto.
Se pueden clasificar según su visibilidad y si son de instancia o estáticos .
Se usan junto con métodos para mantener la integridad del objeto .
¿Qué son los métodos en ABAP orientados a objetos?
Los métodos son bloques de código definidos dentro de una clase, que representan acciones o comportamientos que el objeto puede realizar.
En resumen:
Un método = una función interna de la clase.
-
Para modificar los atributos .
-
Para mostrar información .
-
Para ejecutar lógica de negocio .
-
Para responder a eventos .
CLASS zcl_auto DEFINITION.
PUBLIC SECTION.
DATA: velocidad TYPE i.
METHODS: acelerar,
frenar.
ENDCLASS.
CLASS zcl_auto IMPLEMENTATION.
METHOD acelerar.
velocidad = velocidad + 10.
WRITE: / 'Acelerando. Velocidad:', velocidad.
ENDMETHOD.
METHOD frenar.
velocidad = velocidad - 10.
IF velocidad < 0.
velocidad = 0.
ENDIF.
WRITE: / 'Frenando. Velocidad:', velocidad.
ENDMETHOD.
ENDCLASS.
| Método de instancia | Depende del objeto creado (accede a atributos de instancia) | METHODS |
| Método estático | No depende del objeto, es compartido por la clase entera. | CLASS-METHODS |
| Constructor | Se ejecuta automáticamente al crear un objeto. | CONSTRUCTOR |
| Rehacer | Método heredado y modificado en una subclase | REDEFINITION |
Pueden tener:
-
IMPORTANDO : recibir datos.
-
EXPORTAR : devuelve datos (más viejo, poco usado en POO).
-
CAMBIANDO : modifica datos directamente.
-
DEVOLUCIÓN : devuelve un valor directamente (más moderno y limpio).
METHODS: calcular_area
IMPORTING iv_base TYPE i iv_altura TYPE i
RETURNING VALUE(rv_area) TYPE i.
-
Nombrar los métodos con verbos ( calcular_total, guardar_datos, mostrar_info).
-
Usar RETURNINGsi solo hay un resultado.
No abusar de la lógica dentro de un solo método, manteniendo cortos y claros.
En resumen
-
Los métodos hacen que el objeto "haga cosas" .
-
Pueden ser simples, recibir parámetros, devolver datos o incluso ser estáticos.
-
Trabajan en conjunto con los atributos para representar el comportamiento del objeto.
 
 
 
Sobre el autor
Publicación académica de Exequiel Eduardo Acevedo, en su ámbito de estudios para el Master ABAP Orientado a Objetos.
Exequiel Eduardo Acevedo
Profesión: Analista de Sistemas de Información - Argentina - Legajo: JM18M
✒️Autor de: 32 Publicaciones Académicas
🎓Cursando Actualmente: Curso SAP ABAP
🎓Egresado de los módulos:
- Master Funcional ABAP
- Master ABAP Orientado a Objetos
- Master ABAP for HANA
- Curso SAP ABAP Avanzado
- Curso SAP ABAP
Disponibilidad Laboral: FullTime
























