Preface - Tha an dreuchd seo mar phàirt den Prògraman airson ABAP sreath.
CLÀR a1 RIAGHLADH. EARRANN PHOBLACH. DÀTA: àireamh 1 CINEÁL i LUACH 100. Dòighean: m1. CRÌOCH. CLÀR a1 GNÌOMHACHADH. MODHACHD m1. SGRÌOBH: 'a1:', àireamh 1. CRÌOCH. CRÌOCH. CLÀR b1 Mìneachadh A 'FAIGHINN BHO a1. EARRANN PHOBLACH. MODHANNA: m2, m1 ATH-SGRÙDADH. CRÌOCH. CLAR b1 GNIOMHARA. MODHACHD m1. àireamh 1 = àireamh 1 . SGRÌOBH: 'b1:', àireamh 1. CRÌOCH. MODHACHD m2. SGRÌOBH: 'M2 ann an clas b1'. CRÌOCH. CRÌOCH. START-OF-ROGHACHADH. Dàta: a Seòrsa REF TO a1. DÀTA: b Seòrsa REF TO b1. * dàta: c seòrsa REF TO c1. ********************************************** ************** CRUTHACHADH OBAIR b. a = b. " MODH CALL upcasting a-> m1( ). * cuir fòn gu MODH A-> m2( ). “ chan urrainn dhuinn faighinn gu na dòighean fo-chlas fhèin a’ cleachdadh sàr chlas ref. ÙR-LÌN. b?=a. " sìos tilgeadh MODH CALL b-> m1( ). ÙR-LÌN. MODH CALL b-> m2( ). ********************************************** *************** " mearachd null ref cruthaich OBJECT a. b?=a. " a' tilgeadh sìos fhathast a tha a 'toirt seachad dump MODHOD b-> m1( ). ********************************************** *************** CRUTHACHADH OBAIR a. FEUCH. b?=a. "Dh'fheuch ur ri dump fiosrachaidh nì 'NULL' a chleachdadh CATCH cx_sy_move_cast_error. MODH CALL b-> m1( ). CRÌOCH. ********************************************** *************** CRUTHACHADH OBAIR a. CRUTHACHADH CUSPAIR b. FEUCH. b?=a. CATCH cx_sy_move_cast_error. MODH CALL b-> m1( ). cuir fòn gu MODH B-> m2( ). CRÌOCH. CLÀR lcl_shape DEARBHACHADH. EARRANN PHOBLACH. MODHANNA tarraing. CRÌOCH. CLASS lcl_circle MÌNEACHADH IONADACH BHO lcl_shape. EARRANN PHOBLACH. Dòighean: tarraing ATH-DHÈANAMH, calc_area. CRÌOCH. CLÀR lcl_shape GNÌOMHACHADH. MODHACH tarraing. SGRÌOBH :/ 'A' tarraing cumadh sam bith'. CRÌOCH. CRÌOCH. CLASS lcl_circle GNÌOMHACHADH. MODHACH tarraing. SGRÌOBH :/ 'A' tarraing cumadh sònraichte: Cearcall'. CRÌOCH. MODHACH calc_area. SGRÌOBH :/ 'Sgìre Crcle = 2iiR'. CRÌOCH. CRÌOCH. START-OF-ROGHACHADH. DÀTA : o_cir TIP REF TO lcl_circle. CREATE OBJECT o_cir. MODH CALL o_cir-> tarraing( ). " a’ gairm modh fo-chlas Draw() CALL MODH O_cir-> calc_area( ). UILEACH. " -------- Tilgeadh caol (Upcast) ----------------" DÀTA : o_shp CINEÁL REF TO lcl_shape. o_shp = o_cir. " Cast caol (Upcast) MODH CALL o_shp-> draw ( ). "gairm fo-chlas modh Draw()" cuir fòn gu MODH o_shp-> calc_area( ). " mearachd cruinneachaidh ULINE. " ---------- Leudachadh Cast (Downcast) -----------" DÀTA : o_cir1 TIP REF TO lcl_circle. " o_cir1 = o_shp. " mearachd cruinneachaidh o_cir1 ?= o_shp. " Leudachadh Cast (Downcast) MODH CALL o_cir1-> draw( ). " a’ gairm modh fo-chlas Draw() CALL MODH O_cir1-> calc_area( ). CLÀR a1 RIAGHLADH. EARRANN PHOBLACH. DÀTA: àireamh 1 CINEÁL i LUACH 100. Dòighean: m1. CRÌOCH. CLÀR a1 GNÌOMHACHADH. MODHACHD m1. SGRÌOBH: 'a1:', àireamh 1. CRÌOCH. CRÌOCH. CLÀR b1 Mìneachadh A 'FAIGHINN BHO a1. EARRANN PHOBLACH. MODHANNA: m2, m1 ATH-SGRÙDADH. CRÌOCH. CLAR b1 GNIOMHARA. MODHACHD m1. àireamh 1 = àireamh 1 . SGRÌOBH: 'b1:', àireamh 1. CRÌOCH. MODHACHD m2. SGRÌOBH: 'M2 ann an clas b1'. CRÌOCH. CRÌOCH. START-OF-ROGHACHADH. DÀTA: pàrant TIP TAGAIRT A1. DÀTA: leanabh Seòrsa TAGRADH b1. * dàta: c seòrsa REF TO c1. ********************************************** ************** CRUTHACHADH leanabh. pàrant = leanabh. "DEACHD CALL upcasting pàrant-> m1( ). MODH CALL leanabh-> m1( ). MODH CALL leanabh-> m2( ). * cuir fòn gu MODH A-> m2( ). “ chan urrainn dhuinn faighinn gu na dòighean fo-chlas fhèin a’ cleachdadh sàr chlas ref. ÙR-LÌN. leanabh?=pàrant. " Tilgeadh sìos MODH CALL leanabh-> m1( ). ÙR-LÌN. MODH CALL leanabh-> m2( ). ********************************************** **************** *" mearachd null ref * cruthaich CUSPAIR a. *b?=a. "a' tilgeadh sìos fhathast a tha a 'toirt seachad dump * call MODHOD b-> m1( ). ********************************************** **************** * CRUTHACHADH OBAIR a. FEUCH. b?=a. "Dh'fheuch ur ri dump fiosrachaidh nì 'NULL' a chleachdadh CATCH cx_sy_move_cast_error. MODH CALL b-> m1( ). CRÌOCH. ********************************************** **************** * CRUTHACHADH OBAIR a. CRUTHACHADH CUSPAIR b. FEUCH. b?=a. CATCH cx_sy_move_cast_error. MODH CALL b-> m1( ). cuir fòn gu MODH B-> m2( ). CRÌOCH. ******** Luachan gun samhail ****************** DÀTA : lv_string TYPE string, lv_string2 TYPE string, lv_string_final TYPE string. Seòrsachan: BEGIN OF ty_data, ùghdar TYPE c, END OF ty_data. DATA: 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'. SPLIT lv_string AT ', ' INTO TABLE lt_user. SPLIT lv_string2 AT ',' INTO TABLE lt_user2. LOOP AT lt_user2 A' sònrachadh FIELD-SIMBOL( ). ISTEACH INTO TABLE lt_user. ENDLOOP. SORT lt_user BY ùghdar. Sguab às Dùblaidhean faisg air làimh Bho lt_user COMPARING auth. IF sy-subrc = 0. LOOP AT lt_user A' sònrachadh FIELD-SIMBOL( ). IF lv_string_final THA INITIAL. lv_string_deireannach = -abh. EILE. CONCATENATE lv_string_deireannach -auth INTO lv_string_final SEPARATED BY ','. CRÌOCH. ENDLOOP. CRÌOCH.
0 Beachdan