جاوا اور اس کی اقسام میں کلوننگ کیا ہے؟



جاوا میں کلوننگ سے متعلق یہ مضمون آپ کو کلوننگ کے عمل اور جاوا کے ذریعہ سپورٹ کرنے والی مختلف قسم کے کلوننگ کے بارے میں تفصیلی بصیرت فراہم کرے گا۔

پروگرامنگ کے دوران ، اکثر ہم ایسے منظرناموں پر آتے ہیں جہاں ہمیں کوڈ کے مکمل ٹکڑے کو دوبارہ استعمال کرنے کی ضرورت ہوتی ہے۔ کوڈ کو دوبارہ سے لکھنا پروگرام کو بہت بڑا بناتا ہے ، جبکہ پروگرام کی استعداد کم ہوتی ہے۔ اس طرح ، جاوا ہمیں ایک بہترین خصوصیت فراہم کرتا ہے جس نے اس بوجھل کام سے بچایا ہے۔ یہ جاوا میں کلوننگ کے نام سے جانا جاتا ہے اور اس مضمون کے ذریعہ ، میں آپ کو اس میں مکمل بصیرت دوں گا۔

ذیل میں جن عنوانات پر میں اس مضمون میں گفتگو کروں گا:





جاوا میں کلوننگ

جاوا میں آبجیکٹ کلوننگ اصل چیز کی قطعی کاپی تیار کرنے کا عمل ہے۔ دوسرے لفظوں میں ، اصل اعداد سے تمام اعداد و شمار اور خصوصیات کو کاپی کرکے ایک نیا شے تخلیق کرنے کا یہ ایک طریقہ ہے۔ اس کا صرف کلون () طریقہ کار کو نافذ کرکے ہی ممکن ہے java.lang.Object کلاس کلون کا طریقہ کسی شے کی قطعی کاپی تیار کرتا ہے جس کے لئے یہ رہا ہےفیلڈ بائی فیلڈ اسائنمنٹ آرڈر میں درخواست کی گئی ہے اور نیا اعتراض حوالہ واپس کردے گا . ایک چیز جو آپ کو یاد رکھنی چاہئے ، جاوا میں ، وہ چیزیں جو کلون انٹرفیس کو نافذ کرتی ہیں جو مارکر انٹرفیس ہے اسے کلون () استعمال کرنے کی اجازت ہے۔

اب جب آپ کو معلوم ہے کہ جاوا میں کلوننگ کیا ہے اس کی خصوصیت کو استعمال کرنے کے مختلف فوائد دیکھتے ہیں۔



جاوا میں کلوننگ کے فوائد

ذیل میں میں نے جاوا میں کلوننگ کے استعمال کی کچھ انتہائی دلچسپ خصوصیات درج کی ہیں۔

  • کوڈ کی لائنوں کو کم کرنے میں مدد کرتا ہے۔
  • کاپی کا سب سے مؤثر اور موثر طریقہاشیاء.
  • نیز ، کلون () کو کسی صف کی کاپی کرنے کا تیز ترین طریقہ سمجھا جاتا ہے۔

نوٹ: اگرچہ کلوننگ کے استعمال سے کچھ ڈیزائن کے مسائل پیدا ہوسکتے ہیں لیکن اگر آپ اسے مناسب حکمت عملی سے استعمال کرتے ہیں تو یہ آپ کو فائدہ پہنچا سکتا ہے۔

جاوا میں کلوننگ کی اقسام

جاوا میں کلوننگ کو گروپ کیا جاسکتا ہےدو قسموں میں:



جاوا میں کیا چار ہے؟
  1. اتلی کلوننگ
  2. ڈیپ کلوننگ

آئیے ان میں سے ہر ایک کو ایک ایک کرکے سمجھیں۔

اتلی کلوننگ

جاوا میں ، جب کلوننگ کا عمل کلون () کے طریقہ کار کی مدد سے کیا جاتا ہے تو اسے اتلی کلوننگ کہا جاتا ہے۔ یہ جاوا میں پہلے سے طے شدہ کلوننگ کا عمل ہے جہاں عین مطابق فیلڈ کے ساتھ اصل چیز کی اتلی کاپی تیار کی جائے گی۔ اگر اصل آبجیکٹ میں کھیتوں کے بطور کچھ دوسری چیزوں کا حوالہ ہو تو ، اس چیز کے حوالہ جات صرف نئی شے کی تخلیق کے بجائے کلون کیے جائیں گے۔ دوسرے لفظوں میں ، اگر آپ کلون شدہ اشیاء کی قدر کو تبدیل کرتے ہیں تو پھر اصلیت میں بھی اس کی عکاسی ہوگی۔ اس طرح ، اتلی کلوننگ اصل چیز پر منحصر ہے۔

اتلی کاپی - جاوا میں کلوننگ - ایڈیورکاذیل میں میں نے اس کی مثال دی ہے۔

پیکیج ایڈیورکا کلاس اڈو کورس {سٹرنگ کورس 1 اسٹرنگ کورس 2 سٹرنگ کورس 3 پبلک ایجو کورس (سٹرنگ سی آر ایس 1 ، اسٹرنگ سی آر 2 ، سٹرنگ سی آر ایس 3) {اس سیورس 1 = سی آر ایس 1 سیورسورس = سی آر ایس اس سیورس3 = سی آر ایس}} کلاس اڈو لرنر اپلائنس کلونئبل e انٹ اینم تعلیم EduCourse eduCورس عوامی EduLearner (int eduId ، اسٹرنگ لرنر نام ، EduCورس eduCourse) {this.eduId = eduId this.learnerName = learnnerName this.eduCورس = eduCورس} // کلون () کے طریقہ کار سے محفوظ شدہ آبجیکٹ کلون () کو کلونکس کلونکس (تھرایک کلونکس) پھینک دیتا ہے . کلون ()} class عوامی کلاس شیلو کلون نمونہ {عوامی جامد باطل اہم (سٹرنگ [] آرگس) {ایڈو کورس j2ee = نیا ایڈو کورس ('جاوا' ، 'اسپرنگ' ، 'مائکروسروائسز') ایجو لرنر سیکھنے والا = نیا ایجو لیرنر (2811 ، 'میکس') ، j2ee) اڈو لرنر لرنر 2 = null کوشش {// لرنر 1 کا کلون بنانا اور اسے لرنر 2 لرنر 2 کو تفویض کرنا ((ایڈو لرنر) لرنر 1 سی ایلون ()} کیچ (کلونٹ سپورٹ ایپریشن ای) {ای.پرنٹ اسٹیک ٹریس ()} // پرنٹنگ کی تفصیلات سیکھنے 1 سسٹم ڈاٹ پی rintln ('لرنر 2 کی تفصیلات:') System.out.println ('ID:' + learnner1.eduId) System.out.println ('نام:' + learnner1.learnerName) System.out.println ('کورس آئی ڈی: '+ Learner1.eduCourse) //' learnner1 'System.out.println (' لرنر 1 کے کورسز: ') سسٹم آؤٹ.پرنٹلن (لرنر 1.eduCourse.cورس1) سسٹم آؤٹ.پرنٹلن (لرنر 1) کے تمام کورسز کی پرنٹنگ۔ eduCourse.cورس2) System.out.println (learnner1.eduCourse.cورس3) // Learner2 System.out.println کی پرنٹنگ کی تفصیلات ('لرنر 2 کی تفصیلات:') سسٹم آؤٹ.پریٹلن ('شناخت:' + لرنر 2.eduId ) System.out.println ('Name:' + learningner2.learnerName) System.out.println ('کورس کا پتہ:' + لرنر 2.eduCورس) // 'لرنر 2' کے تمام کورسز کی چھپائی کرنا۔ System.out.println ('کورسز) آف لرنر 2: ') System.out.println (learnner2.eduCourse.cورس1) System.out.println (learnner2.eduCourse.cورس2) System.out.println (learnner2.eduCourse.cورس3) //' لرنر 2 'کے نصاب کو تبدیل کرنا 'learnner2.eduCourse.cورس3 =' JSP '// اس تبدیلی کی عکاسی اصل' لرنر 1 'سسٹم آؤٹ.پرنٹ لین (') میں ہوگی۔ لرنر 2 کی تازہ کاری شدہ کورسز: ') سسٹم آؤٹ.پرنٹلن (لرنر 1. ایڈوکوورس.کورس1) سسٹم آؤٹ.پرنٹلن (لرنر1. ایڈو کورس کورس 2) سسٹم آؤٹ.پرنٹلن (لرنر1. ایڈوکوورس.کورس3)}}

آؤٹ پٹ:

لرنر 2 کی تفصیلات: آئی ڈی: 2811 نام: میکس کورس آئی ڈی: ایجوکوورس @ 15db9742 سیکھنے کے کورسز 1: جاوا اسپرنگ مائکروسروائسز سیکھنے کی تفصیلات 2: شناخت: 2811 نام: میکس کورس آئی ڈی: ایڈو کورس @ 15db9742 سیکھنے کے کورسز 2: جاوا اسپرنگ مائکروسروائسز لرنر 2 کی تازہ کاری شدہ کورسز: جاوا اسپرنگ جے ایس پی

جاوا میں ڈیپ کلوننگ

جاوا میں ، جب کلوننگ کا عمل کلونئبل انٹرفیس کو نافذ کرکے کیا جاتا ہے تو اسے ڈیپ کلوننگ کہا جاتا ہے۔ اس طرح کے کلوننگ میں ، اصل آبجیکٹ کے تمام فیلڈز کی عین نقل تیار کی جائے گی۔ لیکن صورت میں ، اصل شے کے پاس دیگر اشیاء کا قطعہ بطور حوالہ ہے پھر ان کلون () کے طریقہ کار کو کال کرکے ان اشیاء کی ایک کاپی بھی تیار کی جائے گی۔ اس سے کلونڈ آبجیکٹ اصلی آبجیکٹ سے آزاد ہوجاتا ہے اور کسی بھی شے میں کی جانے والی تبدیلیاں دوسرے پر ظاہر نہیں ہوتی ہیں۔

ذیل میں میں نے اس کی مثال دی ہے۔

پیکیج ایڈیورکا کلاس اڈو کورس نے کلونئبل {سٹرنگ کورس 1 سٹرنگ کورس 2 سٹرنگ کورس 3 پبلک ایجو کورس (سٹرنگ سی آر 1 ، سٹرنگ سی آر ایس 2 ، سٹرنگ سی آر ایس 3) {this.cورس1 = crs1 this.cورس2 = crs2 this.cورس3 = crs3} حفاظتی آبجیکٹ کلون () کو کلونکسٹپورٹ کر دیا۔ واپسی سپرکلیوون ()}} کلاس ایڈو لیرنر نے کلونئبل {انٹ ایجوڈ ایڈڈ سٹرنگ لرنر نام ایجو کورس کورس ایڈو کورس پبلک ایڈو لیرنر (انٹ ایجو ایڈ ، اسٹرنگ لرنر نیم ، ایجو کورس ایجوکیورس) {this.eduId = eduId this.ternnerName =eduCourse this آبجیکٹ سے محفوظ آبجیکٹ کلون () آبجیکٹ کلون () کو ایک آبجیکٹ سے محفوظ رکھنے والے آبجیکٹ کلون () کی کلوننوٹ سپورٹ ایکسپریشن th اڈو لیرنر لرنر = (ایڈو لرنر) سوپرکلیوون () لرنر. ایڈکوسورس = (ایجوکوورس) ایڈو کورس کورس () ریٹرن سیکھنے والا class class پبلک کلاس ڈیپ کلون نمونہ {عوامی جامد باطل اہم (سٹرنگ [] آرگس) {ایڈو کورس j2ee = نیا ایڈو کورس ('جاوا' ، 'بہار' ، 'مائکروسروائسز') ایجو لرنر لرنر 1 = نیا ایڈو لارنر (2811 ، 'میکس' ، جے 2 ای) ایجو لرنر سیکھیں er2 = null પ્રયાસ {// لرنر 1 کا کلون بنانا اور اسے لرنر 2 لرنر 2 کو تفویض کرنا۔ ((اڈو لرنر) لرنر 1 سی ایلون ()} کیچ (کلونٹ سکاٹ ایپریشن ای) {ای.پرنٹ اسٹیک ٹریس ()} // لرنر 1 سسٹم کی پرنٹنگ کی تفصیلات۔ println ('لرنر 2 کی تفصیلات:') System.out.println ('ID:' + learnner1.eduId) System.out.println ('نام:' + learnner1.learnerName) System.out.println ('کورس آئی ڈی: '+ Learner1.eduCourse) //' learnner1 'System.out.println (' لرنر 1 کے کورسز: ') سسٹم آؤٹ.پرنٹلن (لرنر 1.eduCourse.cورس1) سسٹم آؤٹ.پرنٹلن (لرنر 1) کے تمام کورسز کی پرنٹنگ۔ eduCourse.cورس2) System.out.println (learnner1.eduCourse.cورس3) // Learner2 System.out.println کی پرنٹنگ کی تفصیلات ('لرنر 2 کی تفصیلات:') سسٹم آؤٹ.پریٹلن ('شناخت:' + لرنر 2.eduId ) System.out.println ('Name:' + learningner2.learnerName) System.out.println ('کورس کا پتہ:' + لرنر 2.eduCورس) // 'لرنر 2' کے تمام کورسز کی چھپائی کرنا۔ System.out.println ('کورسز) آف لرنر 2: ') سسٹم ڈاٹ آؤٹ پرنٹ لین (لرنر 2. ایڈو کورس کورسورس) n (learnner2.eduCourse.cورس2) System.out.println (learnner2.eduCourse.cورس3) // 'learnner2' learnner2.eduCourse.cورس3 = 'JSP' کے کورس3 کو تبدیل کرنا // یہ تبدیلی اصل میں ظاہر نہیں ہوگی '۔ لرنر 1 'سسٹم آؤٹ.پرنٹلن (' لرنر 1 کے کورسز: ') سسٹم آؤٹ.پرنٹل کورس3) // لرنر 2 سسٹم آؤٹ.پرنٹلن ('لرنر 2 کے کورسز:') سسٹم آؤٹ.پرنٹلن (لرنر 2. ایڈکو کورس. نصاب) سسٹم آؤٹ.پرنٹلن (لرنر 2. ایڈو کورس کورس 2) سسٹم آؤٹ۔ پرنٹلن (لرنر 2. ایڈو کورس کورس)}}

آؤٹ پٹ:

سیکھنے والے کی تفصیلات: شناخت نمبر: 2811 نام: زیادہ سے زیادہ کورس کی شناخت: ایورورکا۔ایڈو کورس@15db9742 سیکھنے کے کورسز 1: جاوا اسپرنگ مائکروسروائسز سیکھنے کی تفصیلات 2: شناخت: 2811 نام: میکس کورس ID: edureka.EduCورس@6d06d69c کورسز لرنر 2 : جاوا اسپرنگ مائکروسروائسز لرنر کے کورسز 1: جاوا اسپرنگ مائکروسروائسز لرنر 2: جاوا اسپرنگ جے ایس پی

یہ ہمیں جاوا میں کلوننگ سے متعلق اس مضمون کے آخر تک پہنچا ہے۔ اگر آپ جاوا کے بارے میں مزید جاننا چاہتے ہیں تو آپ ہمارے حوالہ دے سکتے ہیں .

اب جب آپ سمجھ گئے ہیں کہ جاوا میں کلوننگ کیا ہے ، چیک کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کا نیٹ ورک موجود ہے۔ ایڈورکا کا جاوا J2EE اور SOA ٹریننگ اور سرٹیفیکیشن کورس طلباء اور پیشہ ور افراد کے لئے ڈیزائن کیا گیا ہے جو جاوا ڈویلپر بننا چاہتے ہیں۔ کورس آپ کو جاوا پروگرامنگ میں آغاز فراہم کرنے اور ہائبرنیٹ اینڈ اسپرنگ جیسے جاوا کے مختلف فریم ورکوں کے ساتھ ساتھ جاوا کے دونوں بنیادی خیالات کے ساتھ تربیت دینے کے لئے ڈیزائن کیا گیا ہے۔

ہمارے لئے ایک سوال ہے؟ برائے کرم اس 'جاوا میں کلوننگ' مضمون کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جلد از جلد آپ کے پاس مل جائیں گے۔