REPORT ZCL_OOPS_TEST.
CLASS cl_oops DEFINITION.
PUBLIC SECTION.
methods: Display.
PROTECTED SECTION.
METHODS: Display1.
PRIVATE SECTION.
METHODS: Display2.
ENDCLASS.
CLASS cl_oops IMPLEMENTATION.
METHOD display.
CLASS cl_oops DEFINITION.
PUBLIC SECTION.
methods: Display.
PROTECTED SECTION.
METHODS: Display1.
PRIVATE SECTION.
METHODS: Display2.
ENDCLASS.
CLASS cl_oops IMPLEMENTATION.
METHOD display.
" can be inherited by sub-class and can be
called from outside the class.
WRITE:/ 'Public Method of super class'.
ENDMETHOD.
WRITE:/ 'Public Method of super class'.
ENDMETHOD.
METHOD display1.
" Can be inherited by sub-class, but can not be called from
"outside the class.
write:/ 'Protected Method of super class' .
ENDMETHOD.
METHOD display2.
write:/ 'Protected Method of super class' .
ENDMETHOD.
METHOD display2.
" Can not be inherited by sub class
& can not be called from outside the "class.
write:/ 'Private Method of super class' .
ENDMETHOD.
ENDCLASS.
class cl_sub DEFINITION INHERITING FROM cl_oops.
public SECTION.
METHODS display REDEFINITION.
PROTECTED SECTION.
METHODS: Display1 REDEFINITION.
PRIVATE SECTION.
METHODS: Display2 REDEFINITION.
ENDCLASS.
class cl_sub implementation.
method display. " Can be inherited.
WRITE:/ 'Public Method can be inherited by sub class' .
ENDMETHOD.
method display1. " Can be inherited.
WRITE:/ 'Protected method can be inherited by sub class' .
ENDMETHOD.
method display2. " Can not be inherited .
WRITE:/ 'Private method can not be inherited by sub class' .
ENDMETHOD.
ENDCLASS.
DATA: d1 TYPE REF TO cl_oops,
d2 TYPE REF TO cl_oops,
d3 TYPE REF TO cl_oops,
d4 type ref to cl_sub,
d5 TYPE REF TO cl_sub,
d6 TYPE REF TO cl_sub.
START-OF-SELECTION.
create OBJECT d1.
create OBJECT d2.
create object d3.
CREATE OBJECT d4.
CREATE OBJECT d5.
CREATE OBJECT d6.
CALL METHOD d1->display.
CALL METHOD d2->display1.
CALL METHOD d3->display2.
call method d4->display.
call method d5->display1.
call method d6->display2.
write:/ 'Private Method of super class' .
ENDMETHOD.
ENDCLASS.
class cl_sub DEFINITION INHERITING FROM cl_oops.
public SECTION.
METHODS display REDEFINITION.
PROTECTED SECTION.
METHODS: Display1 REDEFINITION.
PRIVATE SECTION.
METHODS: Display2 REDEFINITION.
ENDCLASS.
class cl_sub implementation.
method display. " Can be inherited.
WRITE:/ 'Public Method can be inherited by sub class' .
ENDMETHOD.
method display1. " Can be inherited.
WRITE:/ 'Protected method can be inherited by sub class' .
ENDMETHOD.
method display2. " Can not be inherited .
WRITE:/ 'Private method can not be inherited by sub class' .
ENDMETHOD.
ENDCLASS.
DATA: d1 TYPE REF TO cl_oops,
d2 TYPE REF TO cl_oops,
d3 TYPE REF TO cl_oops,
d4 type ref to cl_sub,
d5 TYPE REF TO cl_sub,
d6 TYPE REF TO cl_sub.
START-OF-SELECTION.
create OBJECT d1.
create OBJECT d2.
create object d3.
CREATE OBJECT d4.
CREATE OBJECT d5.
CREATE OBJECT d6.
CALL METHOD d1->display.
CALL METHOD d2->display1.
CALL METHOD d3->display2.
call method d4->display.
call method d5->display1.
call method d6->display2.
No comments:
Post a Comment