
TRATAMIENTO DE OBJETOS – LECCION 1-8
UTILIZACION DE LOS COMPONENTES DE UN OBJETO
Los programas solo pueden acceder a los componentes de las instancias usando las referencias de las variables referenciadas. Las sintaxis es la siguiente, siendo r_vehiculo la variable referenciada
- Para acceder al atributo color realizamos lo siguiente:
R_vehiculo->color.
- Para llamar al método de instancias encendido realizaremos lo siguiente:
CALL METHOD r_vehiculo->endendido( ).
O la version reducida omitiendo el CALL METHOD
vehiculo=>encendido( ).
NOTA, cuando llamamos a un método de instancia desde dentro de otro método de instancia se puede omitir la referencia al objeto
Para los componentes estáticos o independientes de instancia, solo dependiente 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
La sistaxis, siendo vehiculo la clase es la siguiente:
- Para acceder al atributo estatico color se realiza lo siguiente:
Vehiculo->color.
- Para llamar al método estatico escendido realizaremos lo siguiente:
CALL METHOD vehiculo=>encendido( ).
O la versión reducida omitiendo el CALL METHOD
Vehiculo=encendido( ).
NOTA, cuando llamamos a un método estatico desde dentro de la clase se puede omitir el nombre de la clase.
METODOS FUNCIONALES
Los métodos funcionales son aquellos que tiene un parámetro RETURNING. Esto significa que devuelven un valor. El parámetro RETURNING siempre debe ser pasado usando la adición VALUE, es decir se debe pasar por valor
Los métodos funcionales pueden ser llamados directamente dentro de varias expresiones
- EXPRESIONES LOGICAS, --- IF, ELSEIF, WHILE, CHECK, WAIT
- CONDICIONES CASE, ---- CASE, WHEN
- EXPRESIONES ARITMETICAS, ---- COMPUTE
- FUENTE DE VALORES COMO COPIA LOCAL ---- MOVE
- CONDICIONES DE BUSQUEDA PARA tablas internas, asumiendo que el operando no es un componente de la fila ----- LOOP AT … WHERE
AUTOREFERENCIA
Dentro de una clase se puede acceder también a los componentes individuales mediante la referencia a si mismo ME:
- Para acceder al atributo color en la propia clase realizaremos lo siguiente:
Me->color.
- Para llamar al método encendido en la propia clase realizaremos lo siguiente
CALL METHOD me->encendido( ).