ABAP প্রোগ্রামে কাস্টিং

ক্লাস a1 সংজ্ঞা।
 পাবলিক বিভাগ।
 ডেটা: সংখ্যা 1 প্রকার এবং মূল্য 100।
 পদ্ধতি:m1.
 শেষ শ্রেণি।
 শ্রেণী a1 বাস্তবায়ন।
 পদ্ধতি m1.
 লিখুন: 'a1:', সংখ্যা 1।
 এন্ডমেথড।
 শেষ শ্রেণি।
 ক্লাস b1 সংজ্ঞা a1 থেকে উত্তরাধিকারসূত্রে পাওয়া।
 পাবলিক বিভাগ।
 পদ্ধতি:m2, m1 পুনরায় সংজ্ঞা।
 শেষ শ্রেণি।
 ক্লাস b1 বাস্তবায়ন।
 পদ্ধতি m1.
 num1 = num1।
 লিখুন: 'b1:', সংখ্যা 1।
 এন্ডমেথড।
 পদ্ধতি m2.
 লিখুন: 'B2 ক্লাসে M1'।
 এন্ডমেথড।
 শেষ শ্রেণি।
 নির্বাচনের শুরু।
 ডেটা: a1 থেকে একটি টাইপ রেফ।
 ডেটা: b টাইপ করুন রেফ থেকে b1।
 *ডেটা: c টাইপ করুন REF থেকে c1।
 ****************************************************** ************** অবজেক্ট তৈরি করুন খ.
 a = খ.  "আপকাস্টিং কল পদ্ধতি a->m1( )।
 *কল পদ্ধতি a->m2()।  "আমরা সুপার ক্লাস রেফ ব্যবহার করে নিজস্ব সাব ক্লাস পদ্ধতিগুলি অ্যাক্সেস করতে পারি না।
 নতুন লাইন.
 b?= ক.  "ডাউন কাস্টিং কল পদ্ধতি b->m1( )।
 নতুন লাইন.
 কল পদ্ধতি b->m2( )।
 ****************************************************** *************** " ত্রুটি নাল রেফ বস্তু তৈরি করুন a.
 b?= ক.  "ডাউন কাস্টিং এখনও ডাম্প কল দেওয়ার পদ্ধতি b->m1( )।
 ****************************************************** *************** অবজেক্ট তৈরি করুন ক.
 চেষ্টা করুন
 b?= ক.  "আপনি একটি 'NULL' অবজেক্ট রেফারেন্স ডাম্প CATCH cx_sy_move_cast_error ব্যবহার করার চেষ্টা করেছেন৷
 কল পদ্ধতি b->m1( )।
 শেষ করার চেষ্টা করুন।
 ****************************************************** *************** অবজেক্ট তৈরি করুন ক.
 বস্তু তৈরি করুন খ.
 চেষ্টা করুন
 b?= ক.
 CATCH cx_sy_move_cast_error.
 কল পদ্ধতি b->m1( )।
 কল পদ্ধতি b->m2()।
 শেষ করার চেষ্টা করুন।
 ক্লাস lcl_shape DEFINITION.
 পাবলিক বিভাগ।
 পদ্ধতি আঁকা.
 শেষ শ্রেণি।
 ক্লাস lcl_circle সংজ্ঞা lcl_shape থেকে উত্তরাধিকারসূত্রে পাওয়া।
 পাবলিক বিভাগ।
 পদ্ধতি: REDEFINITION, calc_area আঁকা।
 শেষ শ্রেণি।
 CLASS lcl_shape IMPLEMENTATION.
 পদ্ধতি ড্র।
 লিখুন :/ 'যেকোনো আকৃতি আঁকা'।
 এন্ডমেথড।
 শেষ শ্রেণি।
 ক্লাস lcl_circle বাস্তবায়ন।
 পদ্ধতি ড্র।
 লিখুন :/ 'নির্দিষ্ট আকৃতি আঁকা: বৃত্ত'।
 এন্ডমেথড।
 পদ্ধতি calc_area.
 লিখুন :/ 'Crcle এর ক্ষেত্রফল = 2iiR'।
 এন্ডমেথড।
 শেষ শ্রেণি।
 নির্বাচনের শুরু।
 ডেটা: lcl_circle-এ o_cir টাইপ রেফ।
 O_cir অবজেক্ট তৈরি করুন।
 কল পদ্ধতি o_cir->ড্র( )।  " কল সাবক্লাস ড্র () পদ্ধতি কল পদ্ধতি o_cir->calc_area( )।
 ইউলাইন।
 "--------- সংকীর্ণ কাস্ট(আপকাস্ট)---------------" ডেটা : o_shp টাইপ রেফ টু lcl_shape.
 o_shp = o_cir.  " সংকীর্ণ কাস্ট(আপকাস্ট) কল পদ্ধতি o_shp->ড্র( )।  " কল করে সাব ক্লাস ড্র () পদ্ধতি" কল মেথড o_shp->calc_area( )।  "সংকলন ত্রুটি ULINE.
 "------------ প্রশস্ত করা কাস্ট (ডাউনকাস্ট) -----------" ডেটা : o_cir1 lcl_circle-এ টাইপ রেফ।
 " o_cir1 = o_shp.  " কমপ্লিলেশন ত্রুটি o_cir1 ?= o_shp.  " কাস্ট প্রশস্ত করা (ডাউনকাস্ট) কল পদ্ধতি o_cir1->ড্র( )।  " কল সাবক্লাস ড্র() পদ্ধতি কল পদ্ধতি o_cir1->calc_area( )।
 ক্লাস a1 সংজ্ঞা।
 পাবলিক বিভাগ।
 ডেটা: সংখ্যা 1 প্রকার এবং মূল্য 100।
 পদ্ধতি:m1.
 শেষ শ্রেণি।
 শ্রেণী a1 বাস্তবায়ন।
 পদ্ধতি m1.
 লিখুন: 'a1:', সংখ্যা 1।
 এন্ডমেথড।
 শেষ শ্রেণি।
 ক্লাস b1 সংজ্ঞা a1 থেকে উত্তরাধিকারসূত্রে পাওয়া।
 পাবলিক বিভাগ।
 পদ্ধতি:m2, m1 পুনরায় সংজ্ঞা।
 শেষ শ্রেণি।
 ক্লাস b1 বাস্তবায়ন।
 পদ্ধতি m1.
 num1 = num1।
 লিখুন: 'b1:', সংখ্যা 1।
 এন্ডমেথড।
 পদ্ধতি m2.
 লিখুন: 'B2 ক্লাসে M1'।
 এন্ডমেথড।
 শেষ শ্রেণি।
 নির্বাচনের শুরু।
 ডেটা: প্যারেন্ট টাইপ রেফ থেকে a1।
 ডেটা: শিশু টাইপ রেফ থেকে বি 1।
 *ডেটা: c টাইপ করুন REF থেকে c1।
 ****************************************************** ************** অবজেক্ট চাইল্ড তৈরি করুন।
 পিতামাতা = সন্তান।  "আপকাস্টিং কল মেথড প্যারেন্ট->m1( )।
 কল মেথড চাইল্ড->m1()।
 কল মেথড চাইল্ড->m2()।
 *কল পদ্ধতি a->m2()।  "আমরা সুপার ক্লাস রেফ ব্যবহার করে নিজস্ব সাব ক্লাস পদ্ধতিগুলি অ্যাক্সেস করতে পারি না।
 নতুন লাইন.
 সন্তান?= পিতামাতা।  "ডাউন কাস্টিং কল মেথড চাইল্ড->m1( )।
 নতুন লাইন.
 কল মেথড চাইল্ড->m2()।
 ****************************************************** ********************" ত্রুটি নাল রেফ *অবজেক্ট তৈরি করুন a.
 *b?= a.  "ডাউন কাস্টিং এখনও এর ডাম্প দিচ্ছে *কল পদ্ধতি b->m1( )।
 ****************************************************** **************** * বস্তু তৈরি করুন ক.
 চেষ্টা করুন
 b?= ক.  "আপনি একটি 'NULL' অবজেক্ট রেফারেন্স ডাম্প CATCH cx_sy_move_cast_error ব্যবহার করার চেষ্টা করেছেন৷
 কল পদ্ধতি b->m1( )।
 শেষ করার চেষ্টা করুন।
 ****************************************************** **************** * বস্তু তৈরি করুন ক.
 বস্তু তৈরি করুন খ.
 চেষ্টা করুন
 b?= ক.
 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 এ লুপ করুন ফিল্ড-সিম্বোল ( )
 ঢোকান টেবিলের মধ্যে lt_user.
 এন্ডলুপ
 প্রমাণীকরণ অনুসারে lt_user SORT করুন।
 lt_user comparing auth থেকে সংলগ্ন ডুপ্লিকেট মুছে ফেলুন।
 IF sy-subrc = 0।
 lt_user এসাইনিং ফিল্ড-সিম্বোল ( )
 যদি lv_string_final প্রাথমিক হয়।
 lv_string_final = -উথ
 অন্য
 CONCATENATE lv_string_final -',' দ্বারা lv_string_final আলাদা করা হয়েছে।
 শেষ যদি.
 এন্ডলুপ
 শেষ যদি.

 

মতামত দিন

এই সাইট স্প্যাম কমাতে Akismet ব্যবহার করে। আপনার ডেটা প্রক্রিয়া করা হয় তা জানুন.