1.  
  2. REPORT ZNADAR_POLIMORFISMO.
  3.  
  4. CLASS class_prgm DEFINITION ABSTRACT.
  5.   PUBLIC SECTION.
  6.     METHODS: load ABSTRACT,
  7.              save ABSTRACT.
  8. ENDCLASS.
  9.  
  10. CLASS cl_cliente DEFINITION
  11. INHERITING FROM class_prgm.
  12.   PUBLIC SECTION.
  13.     METHODS: load REDEFINITION,
  14.              save REDEFINITION.
  15. ENDCLASS.
  16.  
  17. CLASS cl_cliente IMPLEMENTATION.
  18.   METHOD load.
  19.     WRITE: 'Cargar Cliente'.
  20.  
  21.   ENDMETHOD.
  22.   METHOD save.
  23.     WRITE: 'Grabar Cliente'.
  24.  
  25.   ENDMETHOD.
  26. ENDCLASS.
  27.  
  28. CLASS cl_servidor DEFINITION
  29. INHERITING FROM class_prgm.
  30.   PUBLIC SECTION.
  31.     METHODS: load REDEFINITION,
  32.              save REDEFINITION.
  33. ENDCLASS.
  34.  
  35. CLASS cl_servidor IMPLEMENTATION.
  36.   METHOD load.
  37.     WRITE: 'Cargar Servidor'.
  38.  
  39.   ENDMETHOD.
  40.   METHOD save.
  41.     WRITE: 'Grabar Servidor'.
  42.  
  43.   ENDMETHOD.
  44. ENDCLASS.
  45.  
  46. CLASS cl_control DEFINITION.
  47.   PUBLIC SECTION.
  48.  
  49.     class-data: OS type REF TO class_prgm.
  50.     CLASS-METHODS:
  51.       start IMPORTING p_objeto TYPE REF TO class_prgm RETURNING VALUE(p_out) type REF TO class_prgm.
  52.  
  53. ENDCLASS.
  54.  
  55. CLASS cl_control IMPLEMENTATION.
  56.   METHOD start.
  57.        OS = p_objeto.
  58.        P_out = OS.
  59.   ENDMETHOD.
  60. ENDCLASS.
  61.  
  62. START-OF-SELECTION.
  63.   DATA: o_cliente  TYPE REF TO cl_cliente,
  64.         o_servidor TYPE REF TO cl_servidor,
  65.         o_objeto   type REf to class_prgm.
  66.  
  67.   CREATE OBJECT: o_cliente, o_servidor.
  68.  
  69.   o_objeto = cl_control=>start( o_cliente ).
  70.   o_objeto->load( ).
  71.