Di Bernameya ABAP de avêtin

ÇINA a1 PÊNSÎNA.
 BEŞA GIŞTÎ.
 DATA: num1 Tîpa û NIRX 100.
 RÊBAZ: m1.
 ENDCLASS.
 ÇINA a1 CÎTAN.
 RÊBAZ m1.
 Binivîse: 'a1:',num1.
 ENDMETHOD.
 ENDCLASS.
 ÇINA b1 PÊNSÎNA JI a1 mîrasî.
 BEŞA GIŞTÎ.
 RÊBAZ:m2, m1 PÊNÎŞANDINA.
 ENDCLASS.
 ÇINA b1 CÎTAN.
 RÊBAZ m1.
 num1 = num1.
 BINIVISIN: 'b1:',num1.
 ENDMETHOD.
 RÊBAZ m2.
 BINIVISIN: 'M2 di pola b1' de.
 ENDMETHOD.
 ENDCLASS.
 DESTPÊK-OF-HILBIJARTINA.
 DATA: TÎPÊN REF TO a1.
 DANÎN: b REF B1.
 * dane: c REF TO c1 binivîsin.
 ************************************************** ************** OBJEK B.
 a = b.  "Rêvekirina RÊBAZA BANGAN a-> m1( ).
 * METHOD a-> m2( ).  "Em nekarin xwe bigihînin rêbazên pola jêr bi karanîna refek çîna super.
 NEW-LINE.
 b ?= a.  "RÊBAZ DAWÎ BINÇAV B-> m1( ).
 NEW-LINE.
 RÊBAZ BANG B-> m2( ).
 ************************************************** *************** "çewtiya null ref diafirîne OBJECT a.
 b ?= a.  "Desthilatdariya xwarê hîna jî danasîna wê ye METHOD b-> m1( ).
 ************************************************** ************** OBJEKÊ ÇÊKIRINA a.
 CERRIBANÎ.
 b ?= a.  "Te hewl da ku "NULL" nesneya referansa hilavêtinê bikar bîne CATCH cx_sy_move_cast_error.
 RÊBAZ BANG B-> m1( ).
 ENDTRY.
 ************************************************** ************** OBJEKÊ ÇÊKIRINA a.
 BİXWÎNE BİXWÎNE b.
 CERRIBANÎ.
 b ?= a.
 CATCH cx_sy_move_cast_error.
 RÊBAZ BANG B-> m1( ).
 gazî RÊBAZ b-> m2( ).
 ENDTRY.
 CLASS lcl_shape DEFINITION.
 BEŞA GIŞTÎ.
 RÊBAZ dikişînin.
 ENDCLASS.
 CLASS lcl_circle PÊNSÎNA JI lcl_shape mîrasî.
 BEŞA GIŞTÎ.
 RÊBAZ: REDEFINITION, calc_area xêz bike.
 ENDCLASS.
 CLASS lcl_shape PÊKANÎNIN.
 METHOD kişandin.
 NIVÎSIN :/ 'Xisandina her şêweyî'.
 ENDMETHOD.
 ENDCLASS.
 CLASS lcl_circle PÊKANÎNA.
 METHOD kişandin.
 NIVÎSIN :/ 'Dêkêşandina şeklê taybetî: Çêrok'.
 ENDMETHOD.
 METHOD calc_area.
 NIVÎSIN :/ 'Qada Crcle = 2iiR'.
 ENDMETHOD.
 ENDCLASS.
 DESTPÊK-OF-HILBIJARTINA.
 DATA : o_cir LI lcl_circle REF BIKE.
 ÇÊKIRINA OBJEKÊ o_cir.
 RÊBAZ BANG O_cir->draw( ).  " bangî rêbaza Draw()-ê dike.
 ULINE.
 "--------- Cast Narrow (Upcast) --------------" Data: O_Shp Type Ref to Lcl_shape.
 o_shp = o_cir.  "Tarrow cast(Upcast) RÊBAXÊN QANÛNÊ o_shp->draw( ).  " bangî rêbaza jêr pola Draw() dike" bangî METHOD bike o_shp->calc_area( ) .  "Çewtiya berhevkirinê ULINE.
 "---------- Berfirehkirina Kastê(Downcast) -----------" DATA : o_cir1 JI BO lcl_circle REF BINIVÎNE.
 "o_cir1 = o_shp.  "çewtiya berhevkirinê o_cir1 ?= o_shp.  "Berfirehkirina Cast(Downcast) RÊBAXÊN QANÛNÊ o_cir1->draw( ).  " bangî rêbaza Draw()-ê dike.
 ÇINA a1 PÊNSÎNA.
 BEŞA GIŞTÎ.
 DATA: num1 Tîpa û NIRX 100.
 RÊBAZ: m1.
 ENDCLASS.
 ÇINA a1 CÎTAN.
 RÊBAZ m1.
 Binivîse: 'a1:',num1.
 ENDMETHOD.
 ENDCLASS.
 ÇINA b1 PÊNSÎNA JI a1 mîrasî.
 BEŞA GIŞTÎ.
 RÊBAZ:m2, m1 PÊNÎŞANDINA.
 ENDCLASS.
 ÇINA b1 CÎTAN.
 RÊBAZ m1.
 num1 = num1.
 BINIVISIN: 'b1:',num1.
 ENDMETHOD.
 RÊBAZ m2.
 BINIVISIN: 'M2 di pola b1' de.
 ENDMETHOD.
 ENDCLASS.
 DESTPÊK-OF-HILBIJARTINA.
 DATA: dêûbav TÎPÊ LI BO a1.
 DATA: zarok TÎPÊ B1.
 * dane: c REF TO c1 binivîsin.
 ************************************************** ************** zarokê OBJEKÊ ÇÊKIRINA.
 dê û bav = zarok.  "Rêvekirina METHOD CALL-ê dêûbav-> m1( ).
 RÊBAZ BANGÎ zarok-> m1( ).
 RÊBAZ BANGÎ zarok-> m2( ).
 * METHOD a-> m2( ).  "Em nekarin xwe bigihînin rêbazên pola jêr bi karanîna refek çîna super.
 NEW-LINE.
 zarok ?= dê û bav.  "Derxistina RÊBAXÊN BANGÎNÊ zarok-> m1( ).
 NEW-LINE.
 RÊBAZ BANGÎ zarok-> m2( ).
 ************************************************** **************** *" çewtî null ref * OBJEKÊ biafirîne a.
 *b ?= a.  "Daxuyaniya xwarê hê jî danasîna wê * METHOD b-> m1( ).
 ************************************************** **************** * BİXWÎNE BİXWÎNE a.
 CERRIBANÎ.
 b ?= a.  "Te hewl da ku "NULL" nesneya referansa hilavêtinê bikar bîne CATCH cx_sy_move_cast_error.
 RÊBAZ BANG B-> m1( ).
 ENDTRY.
 ************************************************** **************** * BİXWÎNE BİXWÎNE a.
 BİXWÎNE BİXWÎNE b.
 CERRIBANÎ.
 b ?= a.
 CATCH cx_sy_move_cast_error.
 RÊBAZ BANG B-> m1( ).
 gazî RÊBAZ b-> m2( ).
 ENDTRY.
 ******** Nirxên Yekane******************* DATA : lv_string TYPE string, lv_string2 TYPE string, lv_string_final TYPE string.
 TIPES: DESTPÊKA ty_data, auth TYPE c, DAWÎ 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'.
 lv_string LI ',' DI TABLE lt_bikarhêner DE PÊŞKIRIN.
 lv_string2 LI ',' DI TABLE'yê de lt_user2 BIKE.
 LI SER lt_user2 LI SER lt_userXNUMX BİXWÎNE BİXWÎNE-SYMBOL( ).
 LÊZÊDEKIRIN INTO TABLE lt_user.
 ENDLOOP.
 SORT lt_bikarhêner BY auth.
 JI LI lt_user DIBÊJÎNÊN DAWÎ JI DIBÊJIN LI BERBÛNIRIN auth.
 IF sy-subrc = 0.
 LI SER lt_bikarhêner BİXWÎNE BİXWÎNE BİXWÎNE-SYMBOL( ).
 HEKE lv_string_final DESTPÊK YE.
 lv_string_final = -auth.
 WEKÎDI.
 BİXWÎNE lv_string_final -auth INTO lv_string_final BY ',' VEBÛYE.
 ENDIF.
 ENDLOOP.
 ENDIF.

 

Leave a comment

Ev malpera Akismet bikar tîne ku ji bo kêmkirina spam. Zêdetir agahdariya danûstandinên we çawa pêvajoy kirin.