ABAP پروگرام ۾ ڪاسٽنگ

ڪلاس a1 تعريف.
 پبلڪ سيڪشن.
 ڊيٽا: نمبر 1 قسم ۽ قدر 100.
 طريقا: m1.
 آخر ڪلاس.
 ڪلاس A1 لاڳو ڪرڻ.
 طريقو m1.
 لکو: 'a1:'، نمبر 1.
 ENDMETHOD.
 آخر ڪلاس.
 ڪلاس b1 جي تعريف a1 کان ورثي ۾ ملي ٿي.
 پبلڪ سيڪشن.
 طريقا: m2, m1 REDEFINITION.
 آخر ڪلاس.
 ڪلاس b1 لاڳو ڪرڻ.
 طريقو m1.
 num1 = num1 .
 لکو: 'b1:'، نمبر 1.
 ENDMETHOD.
 طريقو m2.
 لکو: 'ڪلاس b2 ۾ M1'.
 ENDMETHOD.
 آخر ڪلاس.
 شروعات جي چونڊ.
 ڊيٽا: A TYPE Ref to a1.
 ڊيٽا: b ٽائيپ REF کان b1.
 *ڊيٽا: سي ٽائپ REF TO c1.
 **************************************************** ************** اعتراض ٺاھيو ب.
 a = ب.  "اپ ڪاسٽنگ ڪال ميٿڊ a->m1( ).
 *مٿڊ کي ڪال ڪريو a->m2( ).  "اسان سپر ڪلاس ريف استعمال ڪندي پنهنجي ذيلي طبقي جي طريقن تائين رسائي نٿا ڪري سگھون.
 نيو لائن.
 ب؟ = هڪ.  "ڊائون ڪاسٽنگ ڪال ميٿڊ b->m1( ).
 نيو لائن.
 ڪال جو طريقو b->m2( ).
 **************************************************** *************** "غلطي null ref create OBJECT a.
 ب؟ = هڪ.  "ڊائون ڪاسٽنگ اڃا تائين ڊمپ ڪال جو طريقو b->m1 ( ).
 **************************************************** *************** اعتراض ٺاھيو a.
 ڪوشش ڪر.
 ب؟ = هڪ.  توهان هڪ 'NULL' اعتراض ريفرنس ڊمپ استعمال ڪرڻ جي ڪوشش ڪئي CATCH cx_sy_move_cast_error.
 ڪال جو طريقو b->m1( ).
 ڪوشش ڪريو.
 **************************************************** *************** اعتراض ٺاھيو a.
 ٺاھ ٺاھيو اعتراض ب.
 ڪوشش ڪر.
 ب؟ = هڪ.
 CATCH cx_sy_move_cast_error.
 ڪال جو طريقو b->m1( ).
 ڪال ڪريو METHOD b->m2( ).
 ڪوشش ڪريو.
 ڪلاس lcl_shape DEFINITION.
 پبلڪ سيڪشن.
 ٺاھڻ جا طريقا.
 آخر ڪلاس.
 ڪلاس lcl_circle تعريف وراثت lcl_shape کان.
 پبلڪ سيڪشن.
 طريقا: ٺاھيو REDEFINITION، calc_area.
 آخر ڪلاس.
 CLASS lcl_shape IMPLEMENTATION.
 ٺاھڻ جو طريقو.
 لکو :/ 'ڪنهن به شڪل ٺاهي'.
 ENDMETHOD.
 آخر ڪلاس.
 ڪلاس lcl_circle لاڳو ڪرڻ.
 ٺاھڻ جو طريقو.
 WRITE :/ 'ڊرائنگ مخصوص شڪل: دائرو'.
 ENDMETHOD.
 طريقو calc_rea.
 لکو :/ 'علاقي جو علائقو = 2iiR'.
 ENDMETHOD.
 آخر ڪلاس.
 شروعات جي چونڊ.
 ڊيٽا: o_cir TYPE REF TO lcl_circle.
 CREATE O_cir اعتراض.
 ڪال جو طريقو o_cir->draw ( ).  ڪال ڪري ٿو سب ڪلاس ڊرا () طريقو ڪال ميٿڊ o_cir->calc_area( ).
 ULINE.
 "--------- تنگ ڪاسٽ (اپ ڪاسٽ)---------------" ڊيٽا: o_shp TYPE REF TO lcl_shape.
 o_shp = o_cir.  تنگ ڪيو (اپ ڪاسٽ) ڪال ميٿڊ o_shp->draw ( ).  "سب ڪلاس ڊرا () طريقي کي ڪال ڪري ٿو" ڪال METHOD o_shp->calc_area( ) .  "تاليف جي غلطي ULINE.
 "------------ وائڊننگ ڪاسٽ (ڊائون ڪاسٽ) -----------" ڊيٽا: o_cir1 ٽائپ REF TO lcl_circle.
 " o_cir1 = o_shp.  "تڪليف جي غلطي o_cir1؟ = o_shp.  وائڊننگ ڪاسٽ (ڊائون ڪاسٽ) ڪال ميٿڊ o_cir1->draw( ).  ڪال ڪري ٿو سب ڪلاس ڊرا () طريقو ڪال ميٿوڊ o_cir1->calc_area( ).
 ڪلاس a1 تعريف.
 پبلڪ سيڪشن.
 ڊيٽا: نمبر 1 قسم ۽ قدر 100.
 طريقا: m1.
 آخر ڪلاس.
 ڪلاس A1 لاڳو ڪرڻ.
 طريقو m1.
 لکو: 'a1:'، نمبر 1.
 ENDMETHOD.
 آخر ڪلاس.
 ڪلاس b1 جي تعريف a1 کان ورثي ۾ ملي ٿي.
 پبلڪ سيڪشن.
 طريقا: m2, m1 REDEFINITION.
 آخر ڪلاس.
 ڪلاس b1 لاڳو ڪرڻ.
 طريقو m1.
 num1 = num1 .
 لکو: 'b1:'، نمبر 1.
 ENDMETHOD.
 طريقو m2.
 لکو: 'ڪلاس b2 ۾ M1'.
 ENDMETHOD.
 آخر ڪلاس.
 شروعات جي چونڊ.
 ڊيٽا: والدين ٽائپ ريف ڏانهن a1.
 ڊيٽا: ٻار ٽائپ REF کان b1.
 *ڊيٽا: سي ٽائپ REF TO c1.
 **************************************************** ************** ٻار جو مقصد ٺاهيو.
 والدين = ٻار.  "اپ ڪاسٽنگ ڪال ميٿڊ والدين->m1( ).
 ڪال جو طريقو ٻار->m1().
 ڪال جو طريقو ٻار->m2().
 *مٿڊ کي ڪال ڪريو a->m2( ).  "اسان سپر ڪلاس ريف استعمال ڪندي پنهنجي ذيلي طبقي جي طريقن تائين رسائي نٿا ڪري سگھون.
 نيو لائن.
 ٻار؟ = والدين.  "ڊائون ڪاسٽنگ ڪال ميٿڊ ٻار->m1( ).
 نيو لائن.
 ڪال جو طريقو ٻار->m2().
 **************************************************** ****************** "غلطي null ref * ٺاھڻ اعتراض الف.
 *ب؟ = هڪ.  "ڊائون ڪاسٽنگ اڃا به ڊمپ ڏئي رهيو آهي * ڪال METHOD b->m1( ).
 **************************************************** **************** * ٺاھ ٺاھيو اعتراض a.
 ڪوشش ڪر.
 ب؟ = هڪ.  توهان هڪ 'NULL' اعتراض ريفرنس ڊمپ استعمال ڪرڻ جي ڪوشش ڪئي CATCH cx_sy_move_cast_error.
 ڪال جو طريقو b->m1( ).
 ڪوشش ڪريو.
 **************************************************** **************** * ٺاھ ٺاھيو اعتراض a.
 ٺاھ ٺاھيو اعتراض ب.
 ڪوشش ڪر.
 ب؟ = هڪ.
 CATCH cx_sy_move_cast_error.
 ڪال جو طريقو b->m1( ).
 ڪال ڪريو METHOD b->m2( ).
 ڪوشش ڪريو.
 ******** منفرد قدر ****************** ڊيٽا: lv_string TYPE string, lv_string2 TYPE string, lv_string_final TYPE string.
 TYPES: ty_data جي شروعات، تصنيف TYPE c، ty_data جي آخر.
 ڊيٽا: ls_user TYPE ty_data، ls_user2 TYPE ty_data، lt_user2 TYPE TABLE ty_data، lt_user TYPE TYPE 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 '،' ٽيبل ۾ lt_user2.
 لوپ AT lt_user2 تفويض ڪرڻ واري فيلڊ-سِمبول( ).
 داخل ڪريو INTO TABLE lt_user.
 ENDLOOP.
 SORT lt_user by auth.
 lt_user comparing auth کان ملندڙ نقلن کي حذف ڪريو.
 IF sy-subrc = 0.
 لوپ AT lt_user assigning FIELD-SYMBOL( ).
 جيڪڏهن lv_string_final شروعاتي آهي.
 lv_string_final = -تصوير
 ELSE.
 CONCATENATE lv_string_final -Auth INTO lv_string_final الڳ الڳ '،'.
 ENDIF.
 ENDLOOP.
 ENDIF.

 

تبصرو ڪيو

هي سائيٽ اسپام کي گهٽائڻ لاء اکزمٽ استعمال ڪري ٿو. سکو ته توهان جي تجويز ڪيل ڊيٽا کي ڪيئن عمل ڪيو وڃي.