✒️ABAP POO El tratamiento de Objetos
ABAP POO El tratamiento de Objetos
TRATAMIENTO DE OBJETOS
UTILIZACION DE LOS COMPONENTES DE UN OBJETO.
Los programas solo pueden acceder a los componentes de la instancias usando las referencias de las variables referenciadas.
La sintaxis es la siguiente:
Siendo r_vehiculo la variable referenciada:
r_vehiculo->color
Accedemos al atributo color.
Para llamar al método de instancia encendido:
CALL METHOD r_vehiculo->encendido().
O la versión reducida omitiendo el CALL METHOD:
vehiculo=>encendido().
OJO: cuando llamamos a un método de instancia desde dentro de otro método de instancia se puede omitir la referencia al objeto.
Ejemplo:
DATA: r_vehiculo TYPE REF TO vehiculo,
………marca TYPE string, modelo TYPE string.
START-OF-SELECTION.
…CREATE OBJETCT r_vehiculo.
…r_vehiculo->obtener_tipo ( IMPORTING ex_marca = marca ex_modelo=modelo).
Para los componentes estáticos o independientes de instancia, solo dependientes de clase, se puede usar tanto el nombre de la clase como la variable referenciada. También es posible acceder a los componentes estáticos de una clase antes de que un objeto de la clase haya sido creado.
Siendo vehiculo la clase.
Para acceder al atributo estático color:
Vehiculo->color.
Para el método encendido:
CALL METHOD vehiculo=>encendido().
O la versión reducida
Vehiculo=>encendido().
OJO: cuando llamamos un método estático desde dentro de la clase se puede omtir el nombre de la clase
Ejemplo:
DATA: numero TYPE i.
….
Vehiculo=>obtener_no_vehiculos( RECIVING re_contador = numero ).
Un objeto que requiere un servicio de otro objeto le envía un mensaje solicitando el servicio. El mensaje menciona la operación a ser ejecutada la implementación de esta operación es conocida como METODO. Cuando escribimos la sintaxis de un método no se pueden dejar espacios en blanco entre el nombre del método y el paréntesis que almacenará los parámetros del mismo. Si debemos dejar por lo menos un espacio en blanco entre los paréntesis.
metodo (espacioPARAMETROSespacio).
METODOS FUNCIONALES
Son aquellos que tienen un parámetro RETURNGING.
El Parámetro RETURNIG siempre debe ser pasado usando la adicion VALUE, es decir se pasa por valor.
Resultado = ref->func_method_name( in_par_1 = val_ex_1…).
Resultado = class_name=>func_method_name( in_par_1 = val_ex_1…)
Pueden ser llamados directamente dentro de varias expresiones:
Expresiones lógicas: IF, ELSEIF, WHILE, CHECK, WAIT
Condiciones CASE: CASE, WHEN
Expresiones Aritméticas: COMPUTE
Fuentes de valores como copia local: MOVE
Condiciones de búsqueda para tablas internas, asumiendo que el operando no es un componente de la fila: LOOP AT … WHERE
AUTOREFERENCIA
Se pueden acceder a los componentes individuales mediante la referencia a si mismo ME (dentro de una clase).
Para acceder al atributo color:
me->color.
Para llamar al método encendido:
CALL METHOD me->encendido().
Las auto referencias están siempre predefinidas. Son útiles en ciertos contextos. Se puede usar para mejorar la legibilidad del código, pero puede perjudicar al hacer comparaciones de codigo.
 
 
 
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