You are on page 1of 3

CÓDIGO FUENTE –

NARROWING CAST
SAP ABAP programación orientada a objetos
LOGALI SAP
1

CLASS vehiculo DEFINITION.

PUBLIC SECTION.
METHODS: set_tipo.

ENDCLASS.

CLASS vehiculo IMPLEMENTATION.

METHOD set_tipo.

WRITE: / 'Vehiculo'.

ENDMETHOD.

ENDCLASS.

CLASS camion DEFINITION INHERITING FROM vehiculo.

PUBLIC SECTION.

METHODS: set_tipo REDEFINITION,


set_carga.

ENDCLASS.

CLASS camion IMPLEMENTATION.

METHOD set_tipo.
WRITE: / 'Camion'.
ENDMETHOD.

METHOD set_carga.
WRITE: / 'Camion 16T'.
ENDMETHOD.

ENDCLASS.

SAB APAP programación orientada a objetos logalisap.com


2

START-OF-SELECTION.

DATA: gr_vehiculo TYPE REF TO vehiculo,


gr_camion1 TYPE REF TO camion,
gr_camion2 TYPE REF TO camion.

CREATE OBJECT gr_camion1.

* Widening cast
* gr_vehiculo = gr_camion1.

TRY.
*Narrowing Cast
* gr_camion2 ?= gr_vehiculo.
MOVE gr_vehiculo ?TO gr_camion2.

CATCH cx_sy_move_cast_error.
WRITE / 'CAST error'.
ENDTRY.

IF gr_camion2 IS BOUND.
gr_camion2->set_carga( ).
ELSE.
WRITE / 'El objeto NO se ha instanciado'.
ENDIF.

SAB APAP programación orientada a objetos logalisap.com

You might also like