ABAP වැඩසටහනේ වාත්තු කිරීම

A1 පන්තියේ අර්ථ දැක්වීම.
 පොදු අංශය.
 දත්ත: num1 TYPE i VALUE 100.
 ක්රම:m1.
 ENDCLASS.
 A1 පන්තිය ක්‍රියාත්මක කිරීම.
 ක්රමය m1.
 ලියන්න: 'a1:',num1.
 ENDMETHOD.
 ENDCLASS.
 පන්තිය b1 අර්ථ දැක්වීම a1 වෙතින් උරුමය.
 පොදු අංශය.
 ක්රම:m2, m1 නැවත අර්ථ දැක්වීම.
 ENDCLASS.
 පන්තිය b1 ක්‍රියාත්මක කිරීම.
 ක්රමය m1.
 num1 = num1 .
 ලියන්න: 'b1:',num1.
 ENDMETHOD.
 ක්රමය m2.
 ලියන්න: 'b2 පන්තියේ M1'.
 ENDMETHOD.
 ENDCLASS.
 තේරීමේ ආරම්භය.
 දත්ත: a1 වෙත යොමු වන වර්ගයකි.
 දත්ත: b වර්ගය b1 වෙත යොමු කරන්න.
 *දත්ත: c වර්ගය REF TO c1.
 **************************************************** **************** වස්තුව සාදන්න b.
 a = b.  ඇමතුම් ක්‍රමය a->m1( ) upcasting
 * ක්‍රමය a->m2 ( ) අමතන්න.  "අපට සුපිරි පන්තියේ රෙෆ් භාවිතා කර තමන්ගේම උප පන්ති ක්‍රම වෙත ප්‍රවේශ විය නොහැක.
 නව මාර්ගය.
 b ?= a.  " පහළට වාත්තු කරන ඇමතුම් ක්‍රමය b->m1( ).
 නව මාර්ගය.
 ඇමතුම් ක්රමය b->m2( ).
 **************************************************** *************** " දෝෂය null ref නිර්මාණය OBJECT a.
 b ?= a.  "down casting තවමත් එහි ලබා දෙන ඩම්ප් ඇමතුම් ක්‍රමය b->m1( ).
 **************************************************** *************** වස්තුව සාදන්න a.
 උත්සාහ කරන්න.
 b ?= a.  "ඔබ 'NULL' වස්තු යොමු ඩම්ප් භාවිතා කිරීමට උත්සාහ කළා CATCH cx_sy_move_cast_error.
 ඇමතුම් ක්රමය b->m1( ).
 අවසන් කරන්න.
 **************************************************** *************** වස්තුව සාදන්න a.
 වස්තුව සාදන්න b.
 උත්සාහ කරන්න.
 b ?= a.
 cx_sy_move_cast_error අල්ලා ගන්න.
 ඇමතුම් ක්රමය b->m1( ).
 ක්‍රමය b->m2( ) අමතන්න.
 අවසන් කරන්න.
 CLASS lcl_shape defINITION.
 පොදු අංශය.
 ක්රම ඇඳීම.
 ENDCLASS.
 පන්තියේ lcl_crcle නිර්වචනය lcl_shape වෙතින් උරුම වේ.
 පොදු අංශය.
 ක්‍රම: නැවත අර්ථ දැක්වීම, ගණනය_ප්‍රදේශය ඇඳීම.
 ENDCLASS.
 CLASS lcl_shape IMPLEMENTATION.
 ක්‍රමය ඇඳීම.
 ලියන්න :/ 'ඕනෑම හැඩයක් ඇඳීම'.
 ENDMETHOD.
 ENDCLASS.
 CLASS lcl_circle IMPLEMENTATION.
 ක්‍රමය ඇඳීම.
 ලියන්න :/ 'නිශ්චිත හැඩය ඇඳීම: කවය'.
 ENDMETHOD.
 ක්‍රමය ගණනය_ප්‍රදේශය.
 ලියන්න :/ 'Crcle ප්‍රදේශය = 2iiR'.
 ENDMETHOD.
 ENDCLASS.
 තේරීමේ ආරම්භය.
 දත්ත: o_cir වර්ගය REF සිට lcl_crcle.
 O_cir වස්තුවක් සාදන්න.
 ඇමතුම් ක්රමය o_cir-> ඇඳීම ( ).  "අමතයි subclass Draw() method CALL METHOD o_cir->calc_area( ).
 ULINE.
 "--------- පටු වාත්තු (Upcast)---------------" දත්ත : o_shp වර්ගය lcl_shape වෙත යොමු කරන්න.
 o_shp = o_cir.  " පටු වාත්තු (Upcast) ඇමතුම් ක්රමය o_shp-> ඇඳීම ( ).  "උප පන්තියේ Draw() ක්‍රමය අමතන්න "METHOD o_shp->calc_area( ) අමතන්න.  " සම්පාදන දෝෂය ULINE.
 "---------- පුළුල් කිරීමේ වාත්තු (පහළට) ----------" දත්ත : o_cir1 ටයිප් කරන්න lcl_crcle වෙත.
 "o_cir1 = o_shp.  " සංකීර්ණ දෝෂයක් o_cir1 ?= o_shp.  " පුළුල් කිරීමේ වාත්තු (පහළට) ඇමතුම් ක්රමය o_cir1-> ඇඳීම ( ).  "අමතයි subclass Draw() method CALL METHOD o_cir1->calc_area( ).
 A1 පන්තියේ අර්ථ දැක්වීම.
 පොදු අංශය.
 දත්ත: num1 TYPE i VALUE 100.
 ක්රම:m1.
 ENDCLASS.
 A1 පන්තිය ක්‍රියාත්මක කිරීම.
 ක්රමය m1.
 ලියන්න: 'a1:',num1.
 ENDMETHOD.
 ENDCLASS.
 පන්තිය b1 අර්ථ දැක්වීම a1 වෙතින් උරුමය.
 පොදු අංශය.
 ක්රම:m2, m1 නැවත අර්ථ දැක්වීම.
 ENDCLASS.
 පන්තිය b1 ක්‍රියාත්මක කිරීම.
 ක්රමය m1.
 num1 = num1 .
 ලියන්න: 'b1:',num1.
 ENDMETHOD.
 ක්රමය m2.
 ලියන්න: 'b2 පන්තියේ M1'.
 ENDMETHOD.
 ENDCLASS.
 තේරීමේ ආරම්භය.
 දත්ත: මාපිය වර්ගය a1 වෙත යොමු කරන්න.
 දත්ත: ළමා වර්ගය b1 වෙත යොමු කරන්න.
 *දත්ත: c වර්ගය REF TO c1.
 **************************************************** *************** වස්තුව නිර්මාණය කරන්න දරුවා.
 දෙමාපිය = දරුවා.  "upcasting CALL METHOD parent->m1( ).
 ඇමතුම් ක්‍රමය දරුවා->m1( ).
 ඇමතුම් ක්‍රමය දරුවා->m2( ).
 * ක්‍රමය a->m2 ( ) අමතන්න.  "අපට සුපිරි පන්තියේ රෙෆ් භාවිතා කර තමන්ගේම උප පන්ති ක්‍රම වෙත ප්‍රවේශ විය නොහැක.
 නව මාර්ගය.
 දරුවා ?= දෙමාපියන්.  " පහලට casting CALL METHOD child->m1( ).
 නව මාර්ගය.
 ඇමතුම් ක්‍රමය දරුවා->m2( ).
 **************************************************** **************** *" දෝෂය null ref *OBJECT සාදන්න a.
 *b ?= a.  "down casting still its give dump *call METHOD b->m1( ).
 **************************************************** **************** * වස්තුව සාදන්න a.
 උත්සාහ කරන්න.
 b ?= a.  "ඔබ 'NULL' වස්තු යොමු ඩම්ප් භාවිතා කිරීමට උත්සාහ කළා CATCH cx_sy_move_cast_error.
 ඇමතුම් ක්රමය b->m1( ).
 අවසන් කරන්න.
 **************************************************** **************** * වස්තුව සාදන්න a.
 වස්තුව සාදන්න b.
 උත්සාහ කරන්න.
 b ?= a.
 cx_sy_move_cast_error අල්ලා ගන්න.
 ඇමතුම් ක්රමය b->m1( ).
 ක්‍රමය b->m2( ) අමතන්න.
 අවසන් කරන්න.
 ******** අද්විතීය අගයන්****************** දත්ත : lv_string TYPE string, lv_string2 TYPE string, lv_string_final TYPE තන්තුව.
 වර්ග: ty_data ආරම්භය, සත්‍යාපනය TYPE c, ty_data අවසන්.
 දත්ත: ls_user TYPE ty_data, ls_user2 TYPE ty_data, lt_user2 ty_data TYPE TABLE, lt_user TYPE TABLE of ty_data.
 lv_string = 'a,b,c,a'.
 lv_string2 = 'd,b,c,a'.
 Lv_string AT ',' TABLE lt_user වෙත බෙදන්න.
 Lv_string2 AT ',' වගුවට lt_user2 බෙදන්න.
 Lt_user2 LOOP AT FIELD-SYMBOL පවරන )
 ඇතුල් කරන්න TABLE lt_user වෙත.
 ENDLOOP.
 සත්‍යාපනය අනුව lt_user SORT කරන්න.
 lt_user වෙතින් යාබද අනුපිටපත් සංසන්දනය කරන්න.
 IF sy-subc = 0.
 lt_user හි LOOP FIELD-SYMBOL පැවරීම )
 lv_string_final නම් ආරම්භක වේ.
 lv_string_final = -auth.
 වෙනත්
 Lv_string_final CONCATENATE -auth INTO lv_string_final ',' මගින් වෙන් කර ඇත.
 නම් අවසන්.
 ENDLOOP.
 නම් අවසන්.

 

අදහස අත්හැර

මෙම වෙබ් අඩවිය ස්පෑම් අඩු කිරීම සඳහා Akismet භාවිතා කරයි. ඔබේ ප්රතිචාර දත්ත සැකසූ ආකාරය ඉගෙන ගන්න.