Friday, August 7, 2020

Instance Vs Static Methods (Class 6)

Sample code to show how instance and static method access :  

*&---------------------------------------------------------------------*
*& Report  ZOOABAP_CL6
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZOOABAP_CL6.
CLASS LCL_EMP DEFINITION.
  PUBLIC SECTION.
  METHODS M1"INSTANCE METHOD
  CLASS-METHODS M2" STATTIC METHOD
  PROTECTED SECTION.
  DATA TYPE I.  "INSTANCE ATTRIBUTE
  CLASS-DATA TYPE I"STATIC ATTRIBUTE
  CONSTANTS TYPE VALUE 10."CONSTANT ATTRIBUTE
  TYPES :D1 TYPE I.
  ENDCLASS.
 CLASS LCL_EMP IMPLEMENTATION.
   METHOD M1.
     FORMAT COLOR 3.
    write :'inside instance method m1...'.
    data v_d type d1.
    write :/ a,b,c,v_d.
   format color off.
  endmethod.

  METHOD m2.
    FORMAT COLOR 6.
    write /'Inside Static Method M2.....'.
    DATA V_D1 TYPE D1.
    WRITE /  BCV_D1"IN STATIC METHOD WE ONLY ACCESS STATIC , CONSTANTS BUT NOT INSTANCE
    FORMAT COLOR OFF.
    ENDMETHOD.

   ENDCLASS.


   START-OF-SELECTION.
   LCL_EMP=>M2).

   DATA OB TYPE REF TO LCL_EMP.
   WRITE :/'Acessing both static method and instance method via object'.
   CREATE OBJECT OB .
   cALL METHOD :OB->M1)
 ob->m2).