Transmetimi në programin ABAP

KLASA a1 PËRKUFIZIM.
 SEKSIONI PUBLIK.
 TË DHËNAT: num1 LLOJI i VLERËS 100.
 METODAT: m1.
 ENDKLAS.
 ZBATIMI I KLASËS A1.
 METODA m1.
 SHKRUANI: 'a1:',num1.
 METODA PËRFUNDIMTARE.
 ENDKLAS.
 KLASA b1 PËRKUFIZIM TRASHËGIMI NGA a1.
 SEKSIONI PUBLIK.
 METODAT:m2, m1 RIDEFINIM.
 ENDKLAS.
 ZBATIMI I KLASËS b1.
 METODA m1.
 num1 = num1.
 SHKRUANI: 'b1:',num1.
 METODA PËRFUNDIMTARE.
 METODA m2.
 SHKRUANI: 'M2 në klasën b1'.
 METODA PËRFUNDIMTARE.
 ENDKLAS.
 FILLIMI I PËRZGJEDHJES.
 TË DHËNAT: një LLOJ REF TE a1.
 TË DHËNAT: b LLOJI REFIN B1.
 *të dhënat: c lloji REF TO c1.
 ************************************************** ************** KRIJO OBJEKT b.
 a = b.  "Përditësimi i METODËS SË THIRRJES a->m1( ).
 *quajtur METODA a->m2( ).  "Ne nuk mund t'i qasemi metodave të vetë nënklasës duke përdorur ref. super class.
 LINJA E RE.
 b ?= a.  "METODA E THIRRJES SË SHQIPËRISË B->m1( ).
 LINJA E RE.
 METODA E Thirrjes b->m2( ).
 ************************************************** ************** " gabim null ref krijuar OBJEKT a.
 b ?= a.  "down casting still calling METODA b->m1( ).
 ************************************************** ************** KRIJO OBJEKT a.
 PROVONI.
 b ?= a.  "u përpoq të përdorte një "NULL" referencë të objektit depon CATCH cx_sy_move_cast_error.
 METODA E Thirrjes b->m1( ).
 FUNDIMI.
 ************************************************** ************** KRIJO OBJEKT a.
 KRIJO OBJEKT b.
 PROVONI.
 b ?= a.
 CATCH cx_sy_move_cast_error.
 METODA E Thirrjes b->m1( ).
 thirrni METODA b->m2( ).
 FUNDIMI.
 KLASA lcl_formë PËRKUFIZIM.
 SEKSIONI PUBLIK.
 METODA barazojnë.
 ENDKLAS.
 KLASA lcl_circle PËRKUFIZIM TRASHËGIMI NGA lcl_shape.
 SEKSIONI PUBLIK.
 METODAT: vizatoni RIDEFINICIONE, llogaritja e sipërfaqes.
 ENDKLAS.
 IMPLEMENTIMI I KLASËS lcl_formë.
 METODA barazimi.
 SHKRUAJ :/ 'Vizatimi i çdo forme'.
 METODA PËRFUNDIMTARE.
 ENDKLAS.
 KLASA lcl_rrethi IMPLEMENTIMI.
 METODA barazimi.
 SHKRUAJ :/ 'Vizatimi i formës specifike: Rrethi'.
 METODA PËRFUNDIMTARE.
 METODA kalc_zona.
 SHKRUAJ :/ 'Sipërfaqja e Crcle = 2iiR'.
 METODA PËRFUNDIMTARE.
 ENDKLAS.
 FILLIMI I PËRZGJEDHJES.
 TË DHËNAT : o_cir LLOJ REF TE lcl_circle.
 KRIJO OBJEKT o_cir.
 MËNYRA E THIRRJES o_cir->draw( ).  " thërret metodën Draw() të nënklasës MËNYRA E THIRRJES o_cir->calc_area( ).
 ULINE.
 "--------- Narrow Cast(Upcast)----------------" TË DHËNAT : o_shp LLOJ REF TE lcl_shape.
 o_shp = o_cir.  " Narrow cast(Upcast) METHODA e Thirrjes o_shp->draw( ).  " thërret metodën Draw() të nën klasës "thirr METHOD o_shp->calc_area( ) .  " Gabim përpilimi ULINE.
 "---------- Zgjerimi i Cast(Downcast) -----------" TË DHËNAT : o_cir1 LLOJ REF TE lcl_circle.
 " o_cir1 = o_shp.  " Gabim përpilimi o_cir1 ?= o_shp.  " Zgjerimi i METODËS SË THIRRJES O_cir1->draw( ).  " thërret metodën Draw() të nënklasës MËNYRA E THIRRJES o_cir1->calc_area( ).
 KLASA a1 PËRKUFIZIM.
 SEKSIONI PUBLIK.
 TË DHËNAT: num1 LLOJI i VLERËS 100.
 METODAT: m1.
 ENDKLAS.
 ZBATIMI I KLASËS A1.
 METODA m1.
 SHKRUANI: 'a1:',num1.
 METODA PËRFUNDIMTARE.
 ENDKLAS.
 KLASA b1 PËRKUFIZIM TRASHËGIMI NGA a1.
 SEKSIONI PUBLIK.
 METODAT:m2, m1 RIDEFINIM.
 ENDKLAS.
 ZBATIMI I KLASËS b1.
 METODA m1.
 num1 = num1.
 SHKRUANI: 'b1:',num1.
 METODA PËRFUNDIMTARE.
 METODA m2.
 SHKRUANI: 'M2 në klasën b1'.
 METODA PËRFUNDIMTARE.
 ENDKLAS.
 FILLIMI I PËRZGJEDHJES.
 TË DHËNAT: prindi LLOJI REF TE a1.
 TË DHËNAT: Fëmija LLOJI REF TE b1.
 *të dhënat: c lloji REF TO c1.
 ************************************************** ************** KRIJO OBJEKT fëmijë.
 prind = fëmijë.  "upcasting CALL METHOD prind->m1( ).
 METODA E Thirrjes fëmijë->m1( ).
 METODA E Thirrjes fëmijë->m2( ).
 *quajtur METODA a->m2( ).  "Ne nuk mund t'i qasemi metodave të vetë nënklasës duke përdorur ref. super class.
 LINJA E RE.
 fëmijë ?= prind.  " METODA E THIRRJES SË POSHTJES Fëmija->m1( ).
 LINJA E RE.
 METODA E Thirrjes fëmijë->m2( ).
 ************************************************** **************** *" gabim null ref *krijo OBJEKT a.
 *b ?= a.  "down casting still damp dhënien e tij *thirrni METHOD b->m1( ).
 ************************************************** ************* * KRIJO OBJEKT a.
 PROVONI.
 b ?= a.  "u përpoq të përdorte një "NULL" referencë të objektit depon CATCH cx_sy_move_cast_error.
 METODA E Thirrjes b->m1( ).
 FUNDIMI.
 ************************************************** ************* * KRIJO OBJEKT a.
 KRIJO OBJEKT b.
 PROVONI.
 b ?= a.
 CATCH cx_sy_move_cast_error.
 METODA E Thirrjes b->m1( ).
 thirrni METODA b->m2( ).
 FUNDIMI.
 ******** Vlerat unike******************** TË DHËNAT : vargu lv_string TYPE, vargu lv_string2 TYPE, vargu lv_string_final TYPE.
 LLOJET: FILLIMI I ty_data, auth LLOJI c, FUNDI I ty_data.
 TË DHËNAT: 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 ',' NTO TABLE lt_user.
 NDAJE lv_string2 AT ',' NË TABELA lt_user2.
 LLOOP TE lt_user2 DUKE CAKTUAR SIMBOLIN E FUSHES ( ).
 INSERT NË TABELA lt_user.
 ENDLOOP.
 Rendit lt_user BY auth.
 FSHI DUPLIKATET NGJITHSHME NGA lt_user DUKE KRAHASUAR auth.
 IF sy-nënrend = 0.
 LLOOP TE lt_user ASSIGNING FIELD-SYMBOL( ).
 NËSE lv_string_final ËSHTË FILLESTARE.
 lv_string_final = -auth.
 TJETER.
 KONCATENI lv_string_final -auth INTO lv_string_final NDAUAR NGA ','.
 ENDIF.
 ENDLOOP.
 ENDIF.

 

Lini një koment

Kjo faqe përdor Akismet për të reduktuar spamin. Mësoni se si përpunohet komenti juaj.