You are on page 1of 1

*&---------------------------------------------------------------------*

*& Report  ZMR_CLASS_FRIENDSHIP
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZMR_CLASS_FRIENDSHIP.
* SUPER CLASS
CLASS LC_FRIEND1 DEFINITION.
  PUBLIC SECTION.
   METHODS : ACCESS_INFO_OF_FRIEND2.
ENDCLASS.
* SUBCLASS
CLASS LC_FRIEND2 DEFINITION FRIENDS LC_FRIEND1.
  PRIVATE SECTION.
   METHODS : MY_INFO.
ENDCLASS.

CLASS LC_FRIEND2 IMPLEMENTATION.
  METHOD MY_INFO.
    WRITE :/ 'Private info of Friend 2'.
    ENDMETHOD.
  ENDCLASS.

CLASS LC_FRIEND1 IMPLEMENTATION.
  METHOD ACCESS_INFO_OF_FRIEND2.
    DATA : LR_FRIEND2 TYPE REF TO LC_FRIEND2.
    CREATE OBJECT LR_FRIEND2.
    call method LR_FRIEND2->MY_INFO.
    ENDMETHOD.
    endclass.

data : lr_friend1 type ref to LC_FRIEND1.
START-OF-SELECTION.
create object LR_FRIEND1.
call method LR_FRIEND1->ACCESS_INFO_OF_FRIEND2.

You might also like