ABAP پروگرام میں کاسٹ کرنا

کلاس A1 کی تعریف۔
 پبلک سیکشن۔
 ڈیٹا: نمبر 1 قسم اور قدر 100۔
 طریقے: m1.
 اختتامی کلاس۔
 کلاس A1 کا نفاذ۔
 طریقہ ایم 1۔
 لکھیں: 'a1:'، نمبر1۔
 ENDMETHOD۔
 اختتامی کلاس۔
 کلاس b1 کی تعریف a1 سے وراثت میں ملتی ہے۔
 پبلک سیکشن۔
 طریقے:m2، m1 دوبارہ تعریف۔
 اختتامی کلاس۔
 کلاس b1 کا نفاذ۔
 طریقہ ایم 1۔
 num1 = num1 .
 لکھیں: 'b1:'، نمبر 1۔
 ENDMETHOD۔
 طریقہ ایم 2۔
 لکھیں: 'کلاس b2 میں M1'۔
 ENDMETHOD۔
 اختتامی کلاس۔
 انتخاب کا آغاز۔
 ڈیٹا: a1 کے لیے ایک قسم کا حوالہ۔
 ڈیٹا: b ٹائپ کریں حوالہ سے b1۔
 *ڈیٹا: c قسم REF TO c1۔
 ******************************************************** ************** آبجیکٹ بنائیں ب۔
 a = b  "اپ کاسٹنگ کال کا طریقہ a->m1( ).
 *میتھوڈ a->m2( ) پر کال کریں۔  "ہم سپر کلاس ریف کا استعمال کرتے ہوئے اپنے ذیلی کلاس طریقوں تک رسائی حاصل نہیں کرسکتے ہیں۔
 نئی لائن.
 b ?= a  "ڈاؤن کاسٹنگ کال طریقہ b->m1( ).
 نئی لائن.
 کال کا طریقہ b->m2( )۔
 ******************************************************** *************** "غلطی null ref create OBJECT a.
 b ?= a  "ڈاؤن کاسٹنگ ابھی بھی ڈمپ کال دینے کا طریقہ b->m1( ) ہے۔
 ******************************************************** *************** مقصد بنائیں a.
 کوشش کریں۔
 b ?= a  آپ نے 'NULL' آبجیکٹ ریفرنس ڈمپ CATCH cx_sy_move_cast_error استعمال کرنے کی کوشش کی۔
 کال کا طریقہ b->m1( )۔
 کوشش ختم کریں۔
 ******************************************************** *************** مقصد بنائیں a.
 آبجیکٹ بنائیں ب۔
 کوشش کریں۔
 b ?= a
 CATCH cx_sy_move_cast_error۔
 کال کا طریقہ b->m1( )۔
 کال طریقہ b->m2( ).
 کوشش ختم کریں۔
 کلاس lcl_shape DEFINITION۔
 پبلک سیکشن۔
 طریقہ کار
 اختتامی کلاس۔
 کلاس lcl_circle تعریف lcl_shape سے وراثت۔
 پبلک سیکشن۔
 طریقے: REDEFINITION، calc_area ڈرا کریں۔
 اختتامی کلاس۔
 کلاس lcl_shape کا نفاذ۔
 طریقہ ڈرا۔
 لکھیں :/ 'کسی بھی شکل کی ڈرائنگ'۔
 ENDMETHOD۔
 اختتامی کلاس۔
 کلاس lcl_circle کا نفاذ۔
 طریقہ ڈرا۔
 لکھیں :/ 'مخصوص شکل ڈرائنگ: سرکل'۔
 ENDMETHOD۔
 طریقہ calc_rea.
 لکھیں :/ 'Crcle کا رقبہ = 2iiR'۔
 ENDMETHOD۔
 اختتامی کلاس۔
 انتخاب کا آغاز۔
 ڈیٹا : o_cir TYPE REF TO lcl_circle.
 O_cir کا مقصد بنائیں۔
 کال کا طریقہ o_cir->draw( )۔  " سب کلاس ڈرا () طریقہ کو کال کرتا ہے CALL METHOD o_cir->calc_area( ).
 یو لائن۔
 "--------- تنگ کاسٹ (اپکاسٹ)---------------" ڈیٹا: o_shp ٹائپ ریف ٹو lcl_shape۔
 o_shp = o_cir۔  تنگ کاسٹ (اپکاسٹ) کال طریقہ o_shp->draw( ).  "کال کرتا ہے سب کلاس ڈرا() طریقہ" کال میتھوڈ o_shp->calc_area( ) ۔  تالیف کی خرابی ULINE۔
 "------------ کاسٹ کو چوڑا کرنا (ڈاؤن کاسٹ) -----------" ڈیٹا : o_cir1 lcl_circle میں حوالہ ٹائپ کریں۔
 " o_cir1 = o_shp۔  " complilation error o_cir1 ?= o_shp.  کاسٹ کو وسیع کرنا (ڈاؤن کاسٹ) کال کا طریقہ o_cir1->draw( ).  " سب کلاس ڈرا () طریقہ کو کال کرتا ہے CALL METHOD o_cir1->calc_area( ).
 کلاس A1 کی تعریف۔
 پبلک سیکشن۔
 ڈیٹا: نمبر 1 قسم اور قدر 100۔
 طریقے: m1.
 اختتامی کلاس۔
 کلاس A1 کا نفاذ۔
 طریقہ ایم 1۔
 لکھیں: 'a1:'، نمبر1۔
 ENDMETHOD۔
 اختتامی کلاس۔
 کلاس b1 کی تعریف a1 سے وراثت میں ملتی ہے۔
 پبلک سیکشن۔
 طریقے:m2، m1 دوبارہ تعریف۔
 اختتامی کلاس۔
 کلاس b1 کا نفاذ۔
 طریقہ ایم 1۔
 num1 = num1 .
 لکھیں: 'b1:'، نمبر 1۔
 ENDMETHOD۔
 طریقہ ایم 2۔
 لکھیں: 'کلاس b2 میں M1'۔
 ENDMETHOD۔
 اختتامی کلاس۔
 انتخاب کا آغاز۔
 ڈیٹا: پیرنٹ ٹائپ ریف ٹو a1۔
 ڈیٹا: بچہ ٹائپ ریف ٹو b1۔
 *ڈیٹا: c قسم REF TO c1۔
 ******************************************************** ************** آبجیکٹ بچہ بنائیں۔
 والدین = بچہ۔  "اپ کاسٹنگ کال میتھوڈ پیرنٹ->m1( ).
 کال کا طریقہ بچہ->m1( )۔
 کال کا طریقہ بچہ->m2( )۔
 *میتھوڈ a->m2( ) پر کال کریں۔  "ہم سپر کلاس ریف کا استعمال کرتے ہوئے اپنے ذیلی کلاس طریقوں تک رسائی حاصل نہیں کرسکتے ہیں۔
 نئی لائن.
 بچہ؟= والدین۔  "ڈاؤن کاسٹنگ کال میتھوڈ چائلڈ->m1( )۔
 نئی لائن.
 کال کا طریقہ بچہ->m2( )۔
 ******************************************************** ****************** "غلطی null ref *create OBJECT a.
 *ب؟= اے۔  "ڈاؤن کاسٹنگ ابھی بھی ڈمپ دے رہی ہے *کال طریقہ b->m1( ).
 ******************************************************** **************** * مقصد بنائیں a.
 کوشش کریں۔
 b ?= a  آپ نے 'NULL' آبجیکٹ ریفرنس ڈمپ CATCH cx_sy_move_cast_error استعمال کرنے کی کوشش کی۔
 کال کا طریقہ b->m1( )۔
 کوشش ختم کریں۔
 ******************************************************** **************** * مقصد بنائیں a.
 آبجیکٹ بنائیں ب۔
 کوشش کریں۔
 b ?= a
 CATCH cx_sy_move_cast_error۔
 کال کا طریقہ b->m1( )۔
 کال طریقہ b->m2( ).
 کوشش ختم کریں۔
 ******** منفرد اقدار****************** ڈیٹا: lv_string TYPE سٹرنگ، lv_string2 TYPE سٹرنگ، lv_string_final TYPE سٹرنگ۔
 TYPES: ty_data کا آغاز، auth TYPE c، ty_data کا اختتام۔
 ڈیٹا: ls_user TYPE ty_data، ls_user2 TYPE ty_data، lt_user2 TYPE TABLE ty_data، lt_user 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 ',' INTO TABLE lt_user2۔
 LT_user2 پر لوپ کریں فیلڈ سمبل ( )۔
 داخل کریں۔ INTO TABLE lt_user۔
 اینڈ لوپ۔
 SORT lt_user by auth.
 lt_user comparing auth سے ملحقہ نقلیں حذف کریں۔
 IF sy-subrc = 0۔
 lt_user ASIGNING FIELD-SYMBOL( )۔
 اگر lv_string_final ابتدائی ہے۔
 lv_string_final = -تصویر
 باقی
 CONCATENATE lv_string_final -auth INTO lv_string_final سے الگ کیا گیا '،'۔
 ختم کرو اگر.
 اینڈ لوپ۔
 ختم کرو اگر.

 

ایک تبصرہ چھوڑ دو

سپیم کو کم کرنے کے لئے یہ سائٹ اکزمیت کا استعمال کرتا ہے. جانیں کہ آپ کا تبصرہ کس طرح عملدرآمد ہے.