OO class definition
https://www.youtube.com/watch?v=gFlFU5CwhMA
REPORT yprog_ooabap1.
CLASS car DEFINITION.
PUBLIC SECTION.
DATA: name TYPE char20,
color TYPE char10,
fuel_type TYPE char10.
METHODS: display.
METHODS: constructor IMPORTING name TYPE char20 color TYPE char10 fuel_type TYPE char20 .
ENDCLASS.
CLASS car IMPLEMENTATION.
METHOD constructor.
me->name = name.
me->color = color.
me->fuel_type = fuel_type.
ENDMETHOD.
METHOD display.
WRITE: / 'name = ' , name , 'color = ' , color , ' fuel_type = ' , fuel_type.
ENDMETHOD.
ENDCLASS.
CLASS person DEFINITION.
PUBLIC SECTION.
DATA: name TYPE char20,
age TYPE i.
DATA: ocar TYPE REF TO car.
DATA: pointsto TYPE REF TO person.
METHODS: display IMPORTING car TYPE REF TO car.
METHODS: constructor IMPORTING name TYPE char20 age TYPE i.
ENDCLASS.
CLASS person IMPLEMENTATION.
METHOD constructor.
me->name = name.
me->age = age.
ENDMETHOD.
METHOD display.
me->ocar = car.
WRITE: / me->ocar->name.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA(car1) = NEW car( name = 'Name car1' color = 'RED' fuel_type = 'DIESEL' ).
"car1->display( ).
DATA(p1) = NEW person( name = 'sam' age = 30 ).
DATA(p2) = NEW person( name = 'John' age = 40 ).
p1->display( car = car1 ) . "complicated way
p1->pointsto = p2 .
write: / p1->pointsto->name .
Comments
Post a Comment