ಮುನ್ನುಡಿ - ಈ ಪೋಸ್ಟ್ ಭಾಗವಾಗಿದೆ 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.
0 ಪ್ರತಿಕ್ರಿಯೆಗಳು