Inatuma katika Programu ya ABAP

UFAFANUZI WA DARAJA LA A1.
 SEHEMU YA UMMA.
 DATA: nambari1 AINA i THAMANI 100.
 MBINU:m1.
 ENDCLASS.
 UTEKELEZAJI WA DARAJA LA A1.
 NJIA m1.
 ANDIKA: 'a1:', nambari1.
 MWISHO.
 ENDCLASS.
 KURITHI UFAFANUZI WA DARAJA B1 KUTOKA a1.
 SEHEMU YA UMMA.
 MBINU:m2, m1 UFAFANUZI UPYA.
 ENDCLASS.
 UTEKELEZAJI WA DARAJA B1.
 NJIA m1.
 nambari1 = nambari1 .
 ANDIKA: 'b1:', nambari1.
 MWISHO.
 NJIA m2.
 ANDIKA: 'M2 katika darasa la b1'.
 MWISHO.
 ENDCLASS.
 KUANZA-KUCHAGUA.
 DATA: AINA YA REF KWA a1.
 DATA: b AINA REF KWA b1.
 *data: c chapa REF HADI c1.
 ************************************************** ************** UTENGENEZA KITU b.
 a = b.  "upcasting CALL METHOD a->m1( ).
 *piga METHOD a->m2( ).  " hatuwezi kufikia njia za darasa ndogo kwa kutumia super class ref.
 LINE-MPYA.
 b?= a.  " chini casting CALL METHOD b->m1( ).
 LINE-MPYA.
 NJIA YA SIMU b->m2( ).
 ************************************************** *************** " hitilafu null ref unda OBJECT a.
 b?= a.  "kutupwa chini bado kutoa dampo lake piga METHOD b->m1( ).
 ************************************************** *************** TENGA KITU a.
 JARIBU.
 b?= a.  "ulijaribu kutumia 'NULL' ya kutupa rejeleo la kitu CATCH cx_sy_move_cast_error.
 NJIA YA SIMU b->m1( ).
 ENDTRY.
 ************************************************** *************** TENGA KITU a.
 TENGENEZA KITU b.
 JARIBU.
 b?= a.
 CATCH cx_sy_move_cast_error.
 NJIA YA SIMU b->m1( ).
 piga METHOD b->m2( ).
 ENDTRY.
 CLASS lcl_shape DEFINITION.
 SEHEMU YA UMMA.
 MBINU za kuchora.
 ENDCLASS.
 CLASS lcl_circle KURITHI UFAFANUZI KUTOKA lcl_shape.
 SEHEMU YA UMMA.
 MBINU: chora REDEFINITION, calc_eneo.
 ENDCLASS.
 CLASS lcl_shape UTEKELEZAJI.
 METHOD kuchora.
 ANDIKA :/ 'Kuchora Umbo lolote'.
 MWISHO.
 ENDCLASS.
 UTEKELEZAJI_WA_Mduara wa CLASS lcl.
 METHOD kuchora.
 ANDIKA :/ 'Kuchora umbo maalum: Mduara'.
 MWISHO.
 METHOD_eneo la calc.
 ANDIKA :/ 'Eneo la Crcle = 2iiR'.
 MWISHO.
 ENDCLASS.
 KUANZA-KUCHAGUA.
 DATA : o_cir AINA REF KWA lcl_mduara.
 UNDA KITU o_cir.
 PIGA NJIA o_cir->chora( ).  " inaita njia ndogo ya Draw() CALL METHOD o_cir->calc_area( ).
 ULINE.
 "--------- Utumaji finyu(Upcast)---------------" DATA : o_shp AINA REF KWA lcl_shape.
 o_shp = o_cir.  " Narrow cast(Upcast) CALL METHOD o_shp->draw( ).  " inaita njia ya darasa ndogo Draw() "piga METHOD o_shp->calc_area( ) .  " kosa la mkusanyiko ULINE.
 "---------- Inaongeza Utumaji(Downcast) -----------" DATA : o_cir1 AINA YA REJEA KWA lcl_circle.
 " o_cir1 = o_shp.  " kosa la ujumuishaji o_cir1 ?= o_shp.  " Kuongeza Utumaji(Downcast) NJIA YA SIMU o_cir1->chora( ).  " inaita njia ndogo ya Draw() CALL METHOD o_cir1->calc_area( ).
 UFAFANUZI WA DARAJA LA A1.
 SEHEMU YA UMMA.
 DATA: nambari1 AINA i THAMANI 100.
 MBINU:m1.
 ENDCLASS.
 UTEKELEZAJI WA DARAJA LA A1.
 NJIA m1.
 ANDIKA: 'a1:', nambari1.
 MWISHO.
 ENDCLASS.
 KURITHI UFAFANUZI WA DARAJA B1 KUTOKA a1.
 SEHEMU YA UMMA.
 MBINU:m2, m1 UFAFANUZI UPYA.
 ENDCLASS.
 UTEKELEZAJI WA DARAJA B1.
 NJIA m1.
 nambari1 = nambari1 .
 ANDIKA: 'b1:', nambari1.
 MWISHO.
 NJIA m2.
 ANDIKA: 'M2 katika darasa la b1'.
 MWISHO.
 ENDCLASS.
 KUANZA-KUCHAGUA.
 DATA: mzazi AINA YA REJEA KWA a1.
 DATA: mtoto AINA YA REF KWA b1.
 *data: c chapa REF HADI c1.
 ************************************************** ************** TENGA KITU mtoto.
 mzazi = mtoto.  "upcasting CALL METHOD parent->m1( ).
 WITO NJIA mtoto->m1( ).
 WITO NJIA mtoto->m2( ).
 *piga METHOD a->m2( ).  " hatuwezi kufikia njia za darasa ndogo kwa kutumia super class ref.
 LINE-MPYA.
 mtoto = mzazi.  " down casting CALL METHOD child->m1( ).
 LINE-MPYA.
 WITO NJIA mtoto->m2( ).
 ************************************************** **************** *" hitilafu null ref *unda OBJECT a.
 *b?= a.  "kutupa chini bado utupaji wake wa kutupa *piga METHOD b->m1( ).
 ************************************************** **************** * TENGENEZA KITU a.
 JARIBU.
 b?= a.  "ulijaribu kutumia 'NULL' ya kutupa rejeleo la kitu CATCH cx_sy_move_cast_error.
 NJIA YA SIMU b->m1( ).
 ENDTRY.
 ************************************************** **************** * TENGENEZA KITU a.
 TENGENEZA KITU b.
 JARIBU.
 b?= a.
 CATCH cx_sy_move_cast_error.
 NJIA YA SIMU b->m1( ).
 piga METHOD b->m2( ).
 ENDTRY.
 ******** Thamani za Kipekee****************** DATA : Mfuatano wa lv_mfuatano wa TYPE, mfuatano wa lv_string2 TYPE, mfuatano_wa_mwisho wa TYPE.
 AINA: MWANZO WA ty_data, auth TYPE c, END OF ty_data.
 DATA: ls_user TYPE ty_data, ls_user2 TYPE ty_data, lt_user2 AINA YA TABLE YA ty_data, lt_user AINA YA TABLE YA 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 ',' NDANI YA TABLE lt_user2.
 LOOP AT lt_user2 ASSIGNING FIELD-SYMBOL( )
 WEKA NDANI YA TABLE lt_mtumiaji.
 ENDLOOP.
 CHANGA lt_user KWA mwandishi.
 FUTA DUPLICATE ZA KARIBU KUTOKA KWA lt_user COMPARING auth.
 IF sy-subrc = 0.
 LOOP AT lt_user ASSIGNING FIELD-SYMBOL( )
 IF lv_string_final NI AWALI.
 lv_string_final = -mwandishi.
 VINGINEVYO.
 CONCATENATE lv_string_fainali -auth NDANI YA lv_string_final IMETENGANISHWA NA ','.
 ENDIF.
 ENDLOOP.
 ENDIF.

 

Acha maoni

Tovuti hii inatumia Akismet kupunguza spam. Jifunze jinsi maoni yako yanasindika.