Prefas – Pòs sa a se yon pati nan Pwogram ABAP seri.
KLAS a1 DEFINISYON. SEKSYON PUBLIK. DONE: num1 TYPE i VALÈ 100. METÒD: m1. ENDCLASS. APLIKASYON KLAS A1. METÒD m1. EKRI: 'a1:',num1. METÒD FINI. ENDCLASS. KLAS b1 DEFINISYON ERITE DE a1. SEKSYON PUBLIK. METÒD:m2, m1 REDEFINISYON. ENDCLASS. APLIKASYON KLAS b1. METÒD m1. non1 = non1. EKRI: 'b1:',num1. METÒD FINI. METÒD m2. EKRI: 'M2 nan klas b1'. METÒD FINI. ENDCLASS. KÒMANSE-SELEKSYON. DONE: yon TIP REF POU a1. DONE: b TIP REF POU b1. *done: c tip REF TO c1. **************************************************** ************** KREYE OBJÈ b. a = b. "upcasting METÒD RELE a->m1(). *rele METÒD a->m2(). "Nou pa ka jwenn aksè nan pwòp metòd sub klas yo lè l sèvi avèk super klas ref. NEW-LINE. b ?= a. "desann depoze METÒD RELE b->m1(). NEW-LINE. METÒD RELE b->m2(). **************************************************** **************** " erè nil ref kreye OBJÈ a. b ?= a. "desann jete toujou li bay pil fatra rele METÒD b-> m1(). **************************************************** *************** KREYE OBJÈ a. ESEYE. b ?= a. "Ou eseye sèvi ak yon 'NULL' referans objè pil fatra CATCH cx_sy_move_cast_error. METÒD RELE b->m1(). ENTRE. **************************************************** *************** KREYE OBJÈ a. KREYE OBJÈ b. ESEYE. b ?= a. CATCH cx_sy_move_cast_error. METÒD RELE b->m1(). rele METÒD b->m2(). ENTRE. KLAS lcl_shape DEFINISYON. SEKSYON PUBLIK. METÒD trase. ENDCLASS. KLAS lcl_circle DEFINISYON ERITITE DE lcl_shape. SEKSYON PUBLIK. METÒD: trase REDEFINISYON, calc_area. ENDCLASS. KLAS lcl_shape ENPLIKASYON. METÒD trase. EKRI :/ 'Desen nenpòt fòm'. METÒD FINI. ENDCLASS. KLAS lcl_circle ENPLIKASYON. METÒD trase. EKRI :/ 'Desen fòm espesifik: Sèk'. METÒD FINI. METÒD calc_area. EKRI :/ 'Zòn Crcle = 2iiR'. METÒD FINI. ENDCLASS. KÒMANSE-SELEKSYON. DONE : o_cir REF POU lcl_circle. KREYE OBJÈ o_cir. METÒD RELE o_cir->draw(). " rele metòd Draw() sou klas CALL METHOD o_cir->calc_area(). ULINE. "--------- Narrow cast(Upcast)---------------" DONE: o_shp TYPE REF TO lcl_shape. o_shp = o_cir. " Narrow cast(Upcast) RELE METÒD o_shp->draw(). " rele sub klas Draw() metòd "rele METÒD o_shp->calc_area() . " erè konpilasyon ULINE. "---------- Elaji jete(Downcast) -----------" DONE : o_cir1 TIP REF POU lcl_circle. " o_cir1 = o_shp. " erè konplikasyon o_cir1 ?= o_shp. " Elaji jete(Downcast) METÒD RELE o_cir1->draw(). " rele metòd Draw() sou klas CALL METHOD o_cir1->calc_area(). KLAS a1 DEFINISYON. SEKSYON PUBLIK. DONE: num1 TYPE i VALÈ 100. METÒD: m1. ENDCLASS. APLIKASYON KLAS A1. METÒD m1. EKRI: 'a1:',num1. METÒD FINI. ENDCLASS. KLAS b1 DEFINISYON ERITE DE a1. SEKSYON PUBLIK. METÒD:m2, m1 REDEFINISYON. ENDCLASS. APLIKASYON KLAS b1. METÒD m1. non1 = non1. EKRI: 'b1:',num1. METÒD FINI. METÒD m2. EKRI: 'M2 nan klas b1'. METÒD FINI. ENDCLASS. KÒMANSE-SELEKSYON. DONE: paran TIP REF TO a1. DONE: timoun TIP REF TO b1. *done: c tip REF TO c1. **************************************************** ************** KREYE OBJÈ pitit. paran = pitit. "upcasting METÒD RELE paran->m1(). METÒD RELE timoun->m1( ). METÒD RELE timoun->m2( ). *rele METÒD a->m2(). "Nou pa ka jwenn aksè nan pwòp metòd sub klas yo lè l sèvi avèk super klas ref. NEW-LINE. pitit ?= paran. " down casting METÒD RELE timoun->m1( ). NEW-LINE. METÒD RELE timoun->m2( ). **************************************************** **************** *" erè null ref *kreye OBJÈ a. *b ?= a. "desann jete toujou li bay pil fatra * rele METÒD b-> m1 ( ). **************************************************** **************** * KREYE OBJÈ a. ESEYE. b ?= a. "Ou eseye sèvi ak yon 'NULL' referans objè pil fatra CATCH cx_sy_move_cast_error. METÒD RELE b->m1(). ENTRE. **************************************************** **************** * KREYE OBJÈ a. KREYE OBJÈ b. ESEYE. b ?= a. CATCH cx_sy_move_cast_error. METÒD RELE b->m1(). rele METÒD b->m2(). ENTRE. ******** Valè inik******************** DONE : lv_string TYPE string, lv_string2 TYPE string, lv_string_final TYPE string. TYPES: KÒMANSE ty_data, auth TYPE c, FEN ty_data. DONE: ls_user TYPE ty_data, ls_user2 TYPE ty_data, lt_user2 TYPE TABLE OF ty_data, lt_user TYPE TABLE OF ty_data. lv_string = 'a,b,c,a'. lv_string2 = 'd,b,c,a'. DIVISE lv_string AT ',' NAN TABLE lt_user. DIVISE lv_string2 NAN ',' NAN TABLE lt_user2. LOOP AT lt_user2 ASIGNE FIELD-SYMBOL( ). ANTRE INTO TABLE lt_user. ENDLOOP. SORT lt_user BY otorizasyon. EFISYE DUPLIKAS Adjasan nan lt_user COMPARING otorizasyon. SI sy-subrc = 0. LOOP AT lt_user ASIGNING FIELD-SYMBOL( ). SI lv_string_final SE INISYAL. lv_string_final = -otorizasyon. LÒT. KONKATENE lv_string_final -auth INTO lv_string_final SEPARE BY ','. ENDIF. ENDLOOP. ENDIF.
0 Kòmantè