جاوا میں کنسٹرکٹر چیننگ

Jawa My Kns Rk R Chynng



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

یہ پوسٹ جاوا میں کنسٹرکٹر چیننگ کے بارے میں بتائے گی۔







جاوا میں کنسٹرکٹر چیننگ

کنسٹرکٹر کی تبدیلی بیان کردہ مقاصد کے مطابق کنسٹرکٹر کو دوسرے کنسٹرکٹر میں بلانے کا سب سے اہم طریقہ کار ہے۔ کنسٹرکٹر چیننگ کے بنیادی استعمال میں سے ایک یہ ہے کہ متعدد کنسٹرکٹرز کے ہوتے ہوئے بے کار کوڈز سے بچنا ہے۔ یہ کوڈ کو آسانی سے سمجھنے اور پڑھنے کے قابل بناتا ہے۔



جاوا میں کنسٹرکٹر چیننگ انجام دینے کے دو طریقے ہیں جیسا کہ ذیل میں بتایا گیا ہے۔



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





طریقہ 1: 'this()' کلیدی لفظ کا استعمال کرتے ہوئے ایک ہی کلاس کے اندر کنسٹرکٹر چیننگ

جب کنسٹرکٹر چیننگ ایک ہی کلاس میں کی جاتی ہے تو جاوا ' یہ() کلیدی لفظ استعمال کیا جاتا ہے۔ پہلے سے طے شدہ کنسٹرکٹر کو طلب کیا جائے گا جب کلاس کی مثال شروع کی جائے گی۔ یہ استعمال کرتے ہوئے دوسرے کنسٹرکٹر کو کال کرے گا ' یہ 'کلیدی لفظ. پھر، کنسول پر نتیجہ ظاہر کرنے کے لیے 'println()' طریقہ استعمال کریں:



منٹ ( ) {
یہ ( 5 ) ;
System.out.println ( 'پہلے سے طے شدہ کنسٹرکٹر' ) ;
}


اب، پیرامیٹر پر مشتمل دوسرے کنسٹرکٹر کو کال کریں ' a اور پیرامیٹرز کی ویلیو سیٹ کریں ' یہ() 'کلیدی لفظ. پھر، استعمال کریں ' println() نتیجہ ظاہر کرنے کے لیے دلیل کے طور پر 'اور' پاس کریں:

منٹ ( int a ) {
یہ ( 5 ، بیس ) ;
System.out.println ( a ) ;
}


اس کنسٹرکٹر میں، ہم نے دو عددی قسم کے پیرامیٹرز کو پاس کیا ہے ' a 'اور' ب ' اس کے بعد، 'println()' طریقہ استعمال کریں اور پاس کریں ' a*b ' جو ان متغیرات کی پیداوار کو واپس کرے گا:

منٹ ( int a، int b ) {
System.out.println ( a * ب ) ;
}


میں ' مرکزی() ' طریقہ، پہلے سے طے شدہ کنسٹرکٹر کو طلب کریں جو خود بخود دوسرے کنسٹرکٹرز کو کال کرے گا اور کنسول پر نتیجہ ظاہر کرے گا:

عوامی جامد باطل مین ( سٹرنگ آرگز [ ] ) {
نیا منٹ ( ) ;
}


نتیجے کے طور پر، تمام کنسٹرکٹرز کی آؤٹ پٹ کنسول پر ظاہر ہوگی:


اگر آپ کنسٹرکٹر کو متعدد کلاسوں میں زنجیر بنانا چاہتے ہیں تو، ذیل میں بیان کردہ طریقہ کو دیکھیں۔

طریقہ 2: 'super()' کلیدی لفظ کا استعمال کرتے ہوئے کنسٹرکٹر کو دوسری کلاس میں چین کرنا

آپ کنسٹرکٹرز کو ایک کلاس سے دوسری کلاس میں بھی جوڑ سکتے ہیں۔ اس کے لیے 'super()' کلیدی لفظ استعمال کیا جاتا ہے۔ ایسا کرنے کے لیے، مین کلاس میں درج ذیل کوڈ کو استعمال کریں۔

سب سے پہلے، سٹرنگ ٹائپ متغیر کی وضاحت کریں ' نام اور مین کلاس کا نام استعمال کرکے پہلے کنسٹرکٹر کو کال کریں:

سٹرنگ کا نام؛
منٹ ( ) {
یہ ( '' ) ;
System.out.println ( 'بیس کلاس کے کنسٹرکٹر کے بغیر' ) ;
}


دوسرے کنسٹرکٹر کو طلب کریں اور اوپر بیان کردہ متغیر کو پاس کریں۔ سٹرنگ کا نام 'پیرامیٹر کے طور پر۔ کا استعمال کرتے ہیں ' یہ ' قدر تک رسائی حاصل کرنے کے لیے کلیدی لفظ اور ' println() پرنٹنگ کے مقاصد کے لیے طریقہ:

منٹ ( سٹرنگ کا نام ) {
this.name = نام؛
System.out.println ( 'بیس کے پیرامیٹرائزڈ کنسٹرکٹر کو کال کرنا' ) ;
}


کے اندر ' مرکزی() 'طریقہ، پیرامیٹر کے ساتھ چائلڈ کلاس کو کال کریں' نام ' یہ پیرنٹ کلاس کنسٹرکٹرز کو کال کرے گا جہاں پیرامیٹر ' نام ' منظور ہے. پھر، یہ پیرامیٹر کے ساتھ چائلڈ کلاس کنسٹرکٹر کو طلب کرے گا۔ نام ”:

عوامی جامد باطل مین ( سٹرنگ آرگز [ ] ) {
نیا بچہ ( 'نام' ) ;
}


ایک چائلڈ کلاس بنائی گئی ہے جو استعمال کرتی ہے ' توسیع کرتا ہے کلیدی لفظ پیرنٹ کلاس کو وراثت میں حاصل کرنے اور تیسرے کنسٹرکٹر کو طلب کرنے کے لیے۔ اس کے بعد اگلے کنسٹرکٹر کو کال کریں اور اس کنسٹرکٹر کے اندر، پیرنٹ کلاس سیکنڈ کنسٹرکٹر کو پکاریں:

کلاس کا بچہ کم سے کم بڑھاتا ہے۔ {
بچہ ( ) {
System.out.println ( 'بغیر دلیل بچے کی کلاس کے کنسٹرکٹر' ) ;
}
بچہ ( سٹرنگ کا نام ) {
سپر ( نام ) ;
System.out.println ( 'بچے کے پیرامیٹرائزڈ کنسٹرکٹر کو کال کرنا' ) ;
}
}


آؤٹ پٹ


یہ سب جاوا میں کنسٹرکٹر چیننگ کے بارے میں ہے۔

نتیجہ

جاوا میں، ایک ہی کلاس میں کنسٹرکٹر چیننگ 'this()' کلیدی لفظ کا استعمال کرتے ہوئے کی جاتی ہے، جبکہ 'super()' کلیدی لفظ مختلف کلاسوں میں کنسٹرکٹر چیننگ کرنے کے لیے استعمال ہوتا ہے۔ کنسٹرکٹر چیننگ وراثت کی مدد سے ہوتی ہے۔ سب کلاس کنسٹرکٹر پہلے سپر کلاس کنسٹرکٹر کو کال کرتا ہے اور اس کے بعد چائلڈ کلاس کنسٹرکٹرز کو بلایا جا سکتا ہے۔ اس پوسٹ میں جاوا میں کنسٹرکٹر چیننگ پر عملی مثالوں کے ساتھ بحث کی گئی ہے۔