Skip to content

Instantly share code, notes, and snippets.

@furlan
Created January 29, 2012 20:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save furlan/1700615 to your computer and use it in GitHub Desktop.
Save furlan/1700615 to your computer and use it in GitHub Desktop.
ZP_HELLO_OO_5
*&---------------------------------------------------------------------*
*& Report ZP_HELLO_OO_5
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zp_hello_oo_5 NO STANDARD PAGE HEADING.
*----------------------------------------------------------------------*
* CLASS lcl_hello DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_hello DEFINITION.
PUBLIC SECTION.
METHODS: constructor
IMPORTING
ic_name TYPE char30.
METHODS: set
IMPORTING
i_name TYPE char30,
get
RETURNING value(r_name) TYPE char30.
METHODS: display_message.
PRIVATE SECTION.
DATA: name TYPE char30.
ENDCLASS. "lcl_hello DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_hello IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_hello IMPLEMENTATION.
METHOD constructor.
CALL METHOD me->set
EXPORTING
i_name = ic_name.
ENDMETHOD. "constructor
METHOD set.
IF i_name = 'PROCEDURAL!!'.
me->name = 'I would say... I love OO!'.
ELSE.
me->name = i_name.
ENDIF.
ENDMETHOD. "set
METHOD get.
r_name = me->name.
ENDMETHOD. "get
METHOD display_message.
WRITE: / 'Hello: ', name.
ENDMETHOD. "display_message
ENDCLASS. "lcl_hello IMPLEMENTATION
DATA: g_r_hello TYPE REF TO lcl_hello,
g_v_hello TYPE char30.
PARAMETERS: p_name TYPE char30 DEFAULT 'World OO!!'.
START-OF-SELECTION.
CREATE OBJECT g_r_hello
EXPORTING
ic_name = p_name.
PERFORM love_procedural.
g_r_hello->display_message( ).
*&---------------------------------------------------------------------*
*& Form LOVE_PROCEDURAL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM love_procedural.
CALL METHOD g_r_hello->set
EXPORTING
i_name = 'PROCEDURAL!!'.
ENDFORM. " LOVE_PROCEDURAL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment