ABAP ಕಾರ್ಯಕ್ರಮದಲ್ಲಿ ಬಿತ್ತರಿಸುವುದು

ಕ್ಲಾಸ್ ಎ 1 ವ್ಯಾಖ್ಯಾನ.
 ಸಾರ್ವಜನಿಕ ವಿಭಾಗ.
 ಡೇಟಾ: ಸಂಖ್ಯೆ 1 ಪ್ರಕಾರ ಮತ್ತು ಮೌಲ್ಯ 100.
 ವಿಧಾನಗಳು:m1.
 ಅಂತ್ಯವರ್ಗ.
 ಕ್ಲಾಸ್ ಎ 1 ಅನುಷ್ಠಾನ.
 ವಿಧಾನ m1.
 ಬರೆಯಿರಿ: 'a1:',num1.
 ಅಂತಿಮ ವಿಧಾನ.
 ಅಂತ್ಯವರ್ಗ.
 A1 ರಿಂದ ಆನುವಂಶಿಕವಾಗಿ ವರ್ಗ b1 ವ್ಯಾಖ್ಯಾನ.
 ಸಾರ್ವಜನಿಕ ವಿಭಾಗ.
 ವಿಧಾನಗಳು:m2, m1 ಮರುವ್ಯಾಖ್ಯಾನ.
 ಅಂತ್ಯವರ್ಗ.
 ವರ್ಗ ಬಿ1 ಅನುಷ್ಠಾನ.
 ವಿಧಾನ m1.
 ಸಂಖ್ಯೆ 1 = ಸಂಖ್ಯೆ 1 .
 ಬರೆಯಿರಿ: 'b1:',num1.
 ಅಂತಿಮ ವಿಧಾನ.
 ವಿಧಾನ m2.
 ಬರೆಯಿರಿ: 'ವರ್ಗ b2 ರಲ್ಲಿ M1'.
 ಅಂತಿಮ ವಿಧಾನ.
 ಅಂತ್ಯವರ್ಗ.
 ಆಯ್ಕೆಯ ಪ್ರಾರಂಭ.
 ಡೇಟಾ: a1 ಗೆ ಒಂದು ರೀತಿಯ ಉಲ್ಲೇಖ.
 ಡೇಟಾ: ಬಿ ಟೈಪ್ ರೆಫ್ ಟು ಬಿ1.
 *ಡೇಟಾ: ಸಿ ಟೈಪ್ REF TO c1.
 **************************************************** **************** ವಸ್ತುವನ್ನು ರಚಿಸಿ ಬಿ.
 a = b.  "ಅಪ್‌ಕಾಸ್ಟಿಂಗ್ ಕಾಲ್ ಮೆಥಡ್ a->m1( ).
 *ಕರೆ ವಿಧಾನ a->m2( ).  "ಸೂಪರ್ ಕ್ಲಾಸ್ ರೆಫರೆನ್ಸ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಾವು ಸ್ವಂತ ಉಪ ವರ್ಗ ವಿಧಾನಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.
 ಹೊಸ ಗೆರೆ.
 b ?= a.  "ಡೌನ್ ಕಾಸ್ಟಿಂಗ್ ಕಾಲ್ ಮೆಥಡ್ b->m1( ).
 ಹೊಸ ಗೆರೆ.
 ಕರೆ ವಿಧಾನ b->m2( ).
 **************************************************** *************** " ದೋಷ ಶೂನ್ಯ ರೆಫರೆನ್ಸ್ ಆಬ್ಜೆಕ್ಟ್ ಎ.
 b ?= a.  "ಡೌನ್ ಕಾಸ್ಟಿಂಗ್ ಇನ್ನೂ ಅದರ ನೀಡುವ ಡಂಪ್ ಕರೆ ವಿಧಾನ b->m1( ).
 **************************************************** *************** ವಸ್ತುವನ್ನು ರಚಿಸಿ a.
 ಪ್ರಯತ್ನಿಸಿ.
 b ?= a.  "ನೀವು 'NULL' ಆಬ್ಜೆಕ್ಟ್ ರೆಫರೆನ್ಸ್ ಡಂಪ್ ಅನ್ನು ಬಳಸಲು ಪ್ರಯತ್ನಿಸಿದ್ದೀರಿ CATCH cx_sy_move_cast_error.
 ಕರೆ ವಿಧಾನ b->m1( ).
 ENDTRY.
 **************************************************** *************** ವಸ್ತುವನ್ನು ರಚಿಸಿ a.
 ವಸ್ತುವನ್ನು ರಚಿಸಿ ಬಿ.
 ಪ್ರಯತ್ನಿಸಿ.
 b ?= a.
 CATCH cx_sy_move_cast_error.
 ಕರೆ ವಿಧಾನ b->m1( ).
 ಕರೆ ವಿಧಾನ b->m2( ).
 ENDTRY.
 CLASS lcl_shape DEFINITION.
 ಸಾರ್ವಜನಿಕ ವಿಭಾಗ.
 ವಿಧಾನಗಳು ಡ್ರಾ.
 ಅಂತ್ಯವರ್ಗ.
 Lcl_shape ನಿಂದ CLASS lcl_circle ವ್ಯಾಖ್ಯಾನವನ್ನು ಇನ್ಹೆರಿಟಿಂಗ್.
 ಸಾರ್ವಜನಿಕ ವಿಭಾಗ.
 ವಿಧಾನಗಳು: ಮರುವ್ಯಾಖ್ಯಾನವನ್ನು ಸೆಳೆಯಿರಿ, ಕ್ಯಾಲ್ಕ್_ಏರಿಯಾ.
 ಅಂತ್ಯವರ್ಗ.
 CLASS lcl_shape IMPLEMENTATION.
 ವಿಧಾನ ಡ್ರಾ.
 ಬರೆಯಿರಿ :/ 'ಯಾವುದೇ ಆಕಾರವನ್ನು ಚಿತ್ರಿಸುವುದು'.
 ಅಂತಿಮ ವಿಧಾನ.
 ಅಂತ್ಯವರ್ಗ.
 CLASS lcl_circle IMPLEMENTATION.
 ವಿಧಾನ ಡ್ರಾ.
 ಬರೆಯಿರಿ :/ 'ನಿರ್ದಿಷ್ಟ ಆಕಾರವನ್ನು ಚಿತ್ರಿಸುವುದು: ವೃತ್ತ'.
 ಅಂತಿಮ ವಿಧಾನ.
 ವಿಧಾನ ಕ್ಯಾಲ್ಕ್_ಏರಿಯಾ.
 ಬರೆಯಿರಿ :/ 'Crcle ನ ಪ್ರದೇಶ = 2iiR'.
 ಅಂತಿಮ ವಿಧಾನ.
 ಅಂತ್ಯವರ್ಗ.
 ಆಯ್ಕೆಯ ಪ್ರಾರಂಭ.
 ಡೇಟಾ: o_cir ಪ್ರಕಾರ lcl_circle ಗೆ REF.
 ಆಬ್ಜೆಕ್ಟ್ o_cir ರಚಿಸಿ.
 ಕರೆ ವಿಧಾನ o_cir->ಡ್ರಾ( ).  " ಕರೆಗಳು ಉಪವರ್ಗ ಡ್ರಾ() ವಿಧಾನ CALL METHOD o_cir->calc_area( ).
 ULINE.
 "--------- ಕಿರಿದಾದ ಎರಕಹೊಯ್ದ (ಅಪ್‌ಕಾಸ್ಟ್) -------------" ಡೇಟಾ : o_shp ಪ್ರಕಾರ lcl_shape ಗೆ.
 o_shp = o_cir.  " ಕಿರಿದಾದ ಎರಕಹೊಯ್ದ (ಅಪ್‌ಕಾಸ್ಟ್) ಕರೆ ವಿಧಾನ o_shp->ಡ್ರಾ ( ).  " ಕರೆಗಳು ಉಪ ವರ್ಗ ಡ್ರಾ() ವಿಧಾನ "ಕರೆ METHOD o_shp->calc_area( ) .  " ಸಂಕಲನ ದೋಷ ULINE.
 "------------ ಅಗಲವಾಗುತ್ತಿರುವ ಎರಕಹೊಯ್ದ (ಡೌನ್‌ಕ್ಯಾಸ್ಟ್) ----------" ಡೇಟಾ : o_cir1 lcl_circle ಗೆ ಟೈಪ್ ಮಾಡಿ.
 "o_cir1 = o_shp.  "ಸಂಕೀರ್ಣ ದೋಷ o_cir1 ?= o_shp.  "ವಿಡನಿಂಗ್ ಕ್ಯಾಸ್ಟ್ (ಡೌನ್‌ಕ್ಯಾಸ್ಟ್) ಕರೆ ವಿಧಾನ o_cir1->ಡ್ರಾ ( ).  " ಕರೆಗಳು ಉಪವರ್ಗ ಡ್ರಾ() ವಿಧಾನ CALL METHOD o_cir1->calc_area( ).
 ಕ್ಲಾಸ್ ಎ 1 ವ್ಯಾಖ್ಯಾನ.
 ಸಾರ್ವಜನಿಕ ವಿಭಾಗ.
 ಡೇಟಾ: ಸಂಖ್ಯೆ 1 ಪ್ರಕಾರ ಮತ್ತು ಮೌಲ್ಯ 100.
 ವಿಧಾನಗಳು:m1.
 ಅಂತ್ಯವರ್ಗ.
 ಕ್ಲಾಸ್ ಎ 1 ಅನುಷ್ಠಾನ.
 ವಿಧಾನ m1.
 ಬರೆಯಿರಿ: 'a1:',num1.
 ಅಂತಿಮ ವಿಧಾನ.
 ಅಂತ್ಯವರ್ಗ.
 A1 ರಿಂದ ಆನುವಂಶಿಕವಾಗಿ ವರ್ಗ b1 ವ್ಯಾಖ್ಯಾನ.
 ಸಾರ್ವಜನಿಕ ವಿಭಾಗ.
 ವಿಧಾನಗಳು:m2, m1 ಮರುವ್ಯಾಖ್ಯಾನ.
 ಅಂತ್ಯವರ್ಗ.
 ವರ್ಗ ಬಿ1 ಅನುಷ್ಠಾನ.
 ವಿಧಾನ m1.
 ಸಂಖ್ಯೆ 1 = ಸಂಖ್ಯೆ 1 .
 ಬರೆಯಿರಿ: 'b1:',num1.
 ಅಂತಿಮ ವಿಧಾನ.
 ವಿಧಾನ m2.
 ಬರೆಯಿರಿ: 'ವರ್ಗ b2 ರಲ್ಲಿ M1'.
 ಅಂತಿಮ ವಿಧಾನ.
 ಅಂತ್ಯವರ್ಗ.
 ಆಯ್ಕೆಯ ಪ್ರಾರಂಭ.
 ಡೇಟಾ: ಪೋಷಕ ಪ್ರಕಾರ a1 ಗೆ ಉಲ್ಲೇಖಿಸಿ.
 ಡೇಟಾ: b1 ಗೆ ಮಗುವಿನ ಪ್ರಕಾರ.
 *ಡೇಟಾ: ಸಿ ಟೈಪ್ REF TO c1.
 **************************************************** **************** ಆಬ್ಜೆಕ್ಟ್ ಮಗುವನ್ನು ರಚಿಸಿ.
 ಪೋಷಕ = ಮಗು.  "upcasting CALL METHOD parent->m1( ).
 ಕರೆ ವಿಧಾನ ಮಗು->m1( ).
 ಕರೆ ವಿಧಾನ ಮಗು->m2( ).
 *ಕರೆ ವಿಧಾನ a->m2( ).  "ಸೂಪರ್ ಕ್ಲಾಸ್ ರೆಫರೆನ್ಸ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಾವು ಸ್ವಂತ ಉಪ ವರ್ಗ ವಿಧಾನಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.
 ಹೊಸ ಗೆರೆ.
 ಮಗು ?= ಪೋಷಕರು.  "ಡೌನ್ ಕಾಸ್ಟಿಂಗ್ ಕಾಲ್ ಮೆಥಡ್ ಮಗು->m1( ).
 ಹೊಸ ಗೆರೆ.
 ಕರೆ ವಿಧಾನ ಮಗು->m2( ).
 **************************************************** ***************** *" ದೋಷ ಶೂನ್ಯ ref *OBJECT ರಚಿಸಿ a.
 *b?= a.  "ಡೌನ್ ಕಾಸ್ಟಿಂಗ್ ಇನ್ನೂ ಅದರ ನೀಡುವ ಡಂಪ್ *ಕರೆ ವಿಧಾನ b->m1( ).
 **************************************************** **************** * ವಸ್ತುವನ್ನು ರಚಿಸಿ a.
 ಪ್ರಯತ್ನಿಸಿ.
 b ?= a.  "ನೀವು 'NULL' ಆಬ್ಜೆಕ್ಟ್ ರೆಫರೆನ್ಸ್ ಡಂಪ್ ಅನ್ನು ಬಳಸಲು ಪ್ರಯತ್ನಿಸಿದ್ದೀರಿ CATCH cx_sy_move_cast_error.
 ಕರೆ ವಿಧಾನ b->m1( ).
 ENDTRY.
 **************************************************** **************** * ವಸ್ತುವನ್ನು ರಚಿಸಿ a.
 ವಸ್ತುವನ್ನು ರಚಿಸಿ ಬಿ.
 ಪ್ರಯತ್ನಿಸಿ.
 b ?= a.
 CATCH cx_sy_move_cast_error.
 ಕರೆ ವಿಧಾನ b->m1( ).
 ಕರೆ ವಿಧಾನ b->m2( ).
 ENDTRY.
 ******** ಅನನ್ಯ ಮೌಲ್ಯಗಳು****************** DATA : lv_string TYPE ಸ್ಟ್ರಿಂಗ್, lv_string2 TYPE ಸ್ಟ್ರಿಂಗ್, lv_string_final TYPE ಸ್ಟ್ರಿಂಗ್.
 ವಿಧಗಳು: ty_data ಪ್ರಾರಂಭ, ದೃಢೀಕರಣ TYPE c, ty_data ಅಂತ್ಯ.
 ಡೇಟಾ: ls_user TYPE ty_data, ls_user2 TYPE ty_data, lt_user2 ಟೈ_ಡೇಟಾದ ಟೈಪ್ ಟೇಬಲ್, lt_user TYPE TABLE ಆಫ್ ty_data.
 lv_string = 'a,b,c,a'.
 lv_string2 = 'd,b,c,a'.
 ಸ್ಪ್ಲಿಟ್ lv_string AT ',' ಟೇಬಲ್‌ಗೆ lt_user.
 ಸ್ಪ್ಲಿಟ್ lv_string2 ನಲ್ಲಿ ',' ಟೇಬಲ್‌ಗೆ lt_user2.
 Lt_user2 ನಲ್ಲಿ ಲೂಪ್ ಮಾಡಿ ಕ್ಷೇತ್ರ-ಚಿಹ್ನೆಯನ್ನು ನಿಯೋಜಿಸಿ( )
 ಸೇರಿಸು ಕೋಷ್ಟಕಕ್ಕೆ lt_user.
 ENDLOOP.
 ದೃಢೀಕರಣದ ಮೂಲಕ SORT lt_user.
 lt_user comparing auth ನಿಂದ ಪಕ್ಕದ ನಕಲುಗಳನ್ನು ಅಳಿಸಿ.
 IF sy-subc = 0.
 LT_user ಅನ್ನು ನಿಯೋಜಿಸುವ ಕ್ಷೇತ್ರ-ಚಿಹ್ನೆಯಲ್ಲಿ ಲೂಪ್ ಮಾಡಿ( )
 lv_string_final ಆರಂಭಿಕವಾಗಿದ್ದರೆ.
 lv_string_final = - ದೃಢೀಕರಣ.
 ಬೇರೆ.
 CONCATENATE lv_string_final -auth INTO lv_string_final ',' ನಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾಗಿದೆ.
 ENDIF.
 ENDLOOP.
 ENDIF.

 

ಪ್ರತಿಕ್ರಿಯಿಸುವಾಗ

ಸ್ಪ್ಯಾಮ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಈ ಸೈಟ್ ಅಕಿಸ್ಸೆಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ನಿಮ್ಮ ಕಾಮೆಂಟ್ ಡೇಟಾವನ್ನು ಹೇಗೆ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ತಿಳಿಯಿರಿ.