Saturday, 4 March 2017

Concept of Interface in ABAP OOP


REPORT  zcl_oops_test1.


*----------------------------------------------------------------------*
*       INTERFACE intf
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
INTERFACE intf.
  
METHODS details.
ENDINTERFACE.                    "intf

*----------------------------------------------------------------------*
*       CLASS cl_test DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_test DEFINITION.
  
PUBLIC SECTION.
    
INTERFACES intf.
    
METHODS address.
  
PRIVATE SECTION.
    
DATA ph_no TYPE i.
ENDCLASS.                    "cl_test DEFINITION

*----------------------------------------------------------------------*
*       CLASS cl_test IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_test IMPLEMENTATION.
  
METHOD intf~details.
    
WRITE'Name - Sandhya, Ph No - 'ph_no.
  
ENDMETHOD.                    "intf~details
  
METHOD address.
    
ADD 12345 TO ph_no.
  
ENDMETHOD.                    "Address
ENDCLASS.                    "cl_test IMPLEMENTATION

*----------------------------------------------------------------------*
*       CLASS cl_test1 DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_test1 DEFINITION.
  
PUBLIC SECTION.
    
INTERFACES intf.
    
METHODS location.
  
PRIVATE SECTION.
    
DATA distance TYPE i.
ENDCLASS.                    "cl_test1 DEFINITION

*----------------------------------------------------------------------*
*       CLASS cl_test1 IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_test1 IMPLEMENTATION.
  
METHOD intf~details.
    
WRITE'Location - PSN, City - Bangalore, Distance from Home - ',distance.
  
ENDMETHOD.                    "intf~details
  
METHOD location.
    
ADD 30 TO distance.
  
ENDMETHOD.                    "location
ENDCLASS.                    "cl_test1 IMPLEMENTATION

DATAph_no1  TYPE REF TO cl_test,
      distance1  
TYPE REF TO cl_test1,
      intf1 
TYPE REF TO intf,
      intf_tab 
TYPE TABLE OF REF TO intf.

START-OF-SELECTION.

  
CREATE OBJECTph_no1distance1.


  
CALL METHODph_no1->address,
               distance1
->location.


  
APPENDph_no1 TO intf_tab,
          distance1  
TO intf_tab.

  
LOOP AT intf_tab INTO intf1.
    
CALL METHOD intf1->details.
  
ENDLOOP.




Output

No comments:

Post a Comment