میں جاوا میں کسی آبجیکٹ کو کیسے کاپی کروں؟

My Jawa My Ksy Abjyk Kw Kys Kapy Krw



جاوا میں، کسی آبجیکٹ کو کاپی کرنا عمل میں آتا ہے جہاں کوڈ میں پہلے سے نافذ کردہ فنکشنلٹیز کو شروع سے دوبارہ لاگو کرنے کے بجائے استعمال کرنے کی ضرورت ہوتی ہے۔ اس کے علاوہ، جب موجود ریکارڈز کی بنیاد پر ڈیٹا کو اپ ڈیٹ کرنے کی بات آتی ہے تو یہ مددگار ثابت ہوتا ہے۔ اس طرح، یہ کوڈ کی پیچیدگی اور وسائل کے مؤثر طریقے سے استعمال کو کم کرتا ہے۔

یہ مضمون جاوا میں کسی چیز کو کاپی کرنے کے طریقوں کو ظاہر کرے گا۔

میں جاوا میں کسی آبجیکٹ کو کیسے کاپی کروں؟

مندرجہ ذیل طریقوں کا استعمال کرتے ہوئے جاوا میں کسی چیز کو کاپی کیا جاسکتا ہے۔







کے اندر تمام کلاسوں تک رسائی حاصل کریں ' java.util مثالوں پر جانے سے پہلے پیکیج:



درآمد java استعمال . *;

طریقہ 1: 'کاپی کنسٹرکٹر' کا استعمال کرتے ہوئے جاوا میں کسی چیز کو کاپی کرنا

' کاپی کنسٹرکٹر ” پہلے تخلیق کردہ اسی کلاس آبجیکٹ کا حوالہ دے کر کسی آبجیکٹ کو تخلیق/تعریف کرتا ہے۔



مثال
درج ذیل مثال کسی چیز کو کاپی کرنے کے لیے 'کاپی کنسٹرکٹر' کا اطلاق کرتی ہے۔





عوام کلاس کاپی آبجیکٹ {
int آئی ڈی ;
تار شہر ;
کاپی آبجیکٹ ( int آئی ڈی , تار شہر ) {
یہ . آئی ڈی = آئی ڈی ;
یہ . شہر = شہر ; }
کاپی آبجیکٹ ( کاپی آبجیکٹ آبجیکٹ ) {
یہ . آئی ڈی = چیز. آئی ڈی ;
یہ . شہر = چیز. شہر ; }
عوام باطل ڈسپلے ( ) {
سسٹم باہر . پرنٹ ایل این ( 'ID ->' + یہ . آئی ڈی ) ;
سسٹم باہر . پرنٹ ایل این ( 'شہر -->' + یہ . شہر ) ; }
عوام جامد باطل مرکزی ( تار [ ] args ) {
سکینر ان پٹ = نئی سکینر ( سسٹم میں ) ;
سسٹم باہر . پرنٹ ایل این ( 'آئی ڈی درج کریں:' ) ;
int آئی ڈی = ان پٹ NextInt ( ) ;
سسٹم باہر . پرنٹ ایل این ( 'شہر میں داخل ہوں:' ) ;
تار شہر = ان پٹ اگلے ( ) ;
کاپی آبجیکٹ آبجیکٹ 1 = نئی کاپی آبجیکٹ ( آئی ڈی , شہر ) ;
کاپی آبجیکٹ آبجیکٹ 2 = نئی کاپی آبجیکٹ ( اعتراض 1 ) ;
سسٹم باہر . پرنٹ ایل این ( 'پہلے سے طے شدہ آبجیکٹ ->' ) ;
اعتراض 1۔ ڈسپلے ( ) ;
سسٹم باہر . پرنٹ ایل این ( 'کاپی شدہ آبجیکٹ ->' ) ;
اعتراض 2۔ ڈسپلے ( ) ;
ان پٹ بند کریں ( ) ;
} }

مندرجہ بالا کوڈ کے ٹکڑوں میں:

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

آؤٹ پٹ



اس آؤٹ پٹ میں، یہ سمجھا جا سکتا ہے کہ ایک کاپی آبجیکٹ بنایا گیا ہے اور اسی کے مطابق ڈسپلے کیا گیا ہے۔

نقطہ نظر 2: 'کلون()' طریقہ کے ذریعے جاوا میں کسی آبجیکٹ کو کاپی کرنا

' کلون () 'طریقہ کار' java.lang.Object کلاس کسی چیز کو بطور پیرامیٹر لیتی ہے، تخلیق کرتی ہے اور اس کی ایک کاپی دیتی ہے۔ یہ طریقہ پہلے سے تخلیق شدہ آبجیکٹ (جسے کاپی کرنے کی ضرورت ہے) اور 'clone()' طریقہ کا حوالہ دے کر کسی چیز کو کاپی کرنے کے لیے لاگو کیا جا سکتا ہے۔

نحو

چیز. کلون ( )

یہ طریقہ آبجیکٹ کی ایک کاپی دیتا ہے اور پھینک دیتا ہے ' CloneNotSupportedException ' اگر آبجیکٹ کی کلاس 'کلون ایبل' انٹرفیس کو لاگو / لاگو نہیں کرتی ہے۔

مثال
کوڈ کی درج ذیل لائنوں سے گزریں:

عوام کلاس کاپی آبجیکٹ آلات کلون ایبل {
int آئی ڈی ;
تار شہر ;
کاپی آبجیکٹ ( int آئی ڈی , تار شہر ) {
یہ . آئی ڈی = آئی ڈی ;
یہ . شہر = شہر ;
}
عوام باطل ڈسپلے ( ) {
سسٹم باہر . پرنٹ ایل این ( 'ID ->' + یہ . آئی ڈی ) ;
سسٹم باہر . پرنٹ ایل این ( 'شہر -->' + یہ . شہر ) ;
}
عوام جامد باطل مرکزی ( تار [ ] args ) پھینکتا ہے CloneNotSupportedException {
سکینر ان پٹ = نئی سکینر ( سسٹم میں ) ;
سسٹم باہر . پرنٹ ایل این ( 'آئی ڈی درج کریں:' ) ;
int آئی ڈی = ان پٹ NextInt ( ) ;
سسٹم باہر . پرنٹ ایل این ( 'شہر میں داخل ہوں:' ) ;
تار شہر = ان پٹ اگلے ( ) ;
کاپی آبجیکٹ آبجیکٹ 1 = نئی کاپی آبجیکٹ ( آئی ڈی , شہر ) ;
سسٹم باہر . پرنٹ ایل این ( 'پہلے سے طے شدہ آبجیکٹ ->' ) ;
اعتراض 1۔ ڈسپلے ( ) ;
سسٹم باہر . پرنٹ ایل این ( 'کاپی شدہ آبجیکٹ ->' ) ;
کاپی آبجیکٹ آبجیکٹ 2 = ( کاپی آبجیکٹ ) اعتراض 1۔ کلون ( ) ;
اعتراض 2۔ ڈسپلے ( ) ;
ان پٹ بند کریں ( ) ;
} }

مندرجہ بالا کوڈ بلاک کے مطابق، ذیل میں بیان کردہ اقدامات کو انجام دیں:

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

آؤٹ پٹ

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

نتیجہ

جاوا میں کسی چیز کو 'کا استعمال کرکے کاپی کیا جاسکتا ہے۔ کاپی کنسٹرکٹر '، یا پھر ' کلون () 'طریقہ. سابقہ ​​نقطہ نظر پہلے سے تخلیق شدہ آبجیکٹ کو کاپی کنسٹرکٹر دلیل کے طور پر لے کر آبجیکٹ کو کاپی کرتا ہے۔ مؤخر الذکر نقطہ نظر براہ راست تخلیق شدہ کلاس آبجیکٹ سے وابستہ ہے۔ اس تحریر نے جاوا میں کسی چیز کو کاپی کرنے کے طریقوں کو ظاہر کیا۔