جاوا میں ، کسی کلاس کی تعریف دوسرے کلاس کے اندر کی جاسکتی ہے اور اس طرح کی کلاسوں کو نیسٹ کلاسز کے نام سے جانا جاتا ہے۔ یہ کلاسز آپ کو منطقی طور پر گروپس کلاس بنانے میں مدد کرتی ہیں جو صرف ایک جگہ پر استعمال ہوتی ہیں۔ اس سے encapsulation کے استعمال میں اضافہ ہوتا ہے اور زیادہ پڑھنے کے قابل اور قابل انتظام کوڈ پیدا ہوتا ہے۔ 'جاوا میں نیسٹڈ کلاس' پر یہ بلاگ آپ کو اندرونِ طب میں نیسٹڈ کلاسوں کا فوری نقطہ تعارف فراہم کرے گا . اس بلاگ میں زیر عنوان عنوانات ہیں۔
- جاوا میں نیسیڈ کلاس
- گھومنے والی کلاسوں کی اقسام
- جامد اور غیر مستحکم گھریلو طبقات کے مابین فرق
- یاد رکھنے کے لئے اہم نکات
جاوا میں نیسیڈ کلاس
کلاس کلاس کے اندر لکھا ہوا داخلہ کلاس کہلاتا ہے جبکہ داخلہ کلاس رکھنے والی کلاس کو بیرونی طبقے کہتے ہیں۔ جاوا میں گھریلو کلاسوں کے لئے کچھ نکات یاد رکھنے کے لئے ذیل میں ہیں۔
- گھریلو طبقے کی گنجائش اس کے بند کلاس سے منسلک ہے۔
- کسی گھونسلے والے طبقے کی رسائی اس کلاس کے ممبروں تک ہوتی ہے جس میں یہ گھونسلہ ہوتا ہے۔ لیکن ، منسلک کلاس طبقاتی طبقے کے ممبروں تک رسائی حاصل نہیں کرسکتی ہے۔
- ایک نیسڈ کلاس اس کا منسلک کلاس ممبر ہے۔
- ایک گھریلو طبقے کو عوامی ، نجی ، محفوظ ، یا پیکیج نجی قرار دیا جاسکتا ہے۔
گھومنے والی کلاسوں کی اقسام
اندرونی / غیر مستحکم گھریلو طبقے: جاوا میں ، غیر مستحکم کلاس ایک سیکیورٹی طریقہ کار ہیں۔ ایک کلاس کے ساتھ وابستہ نہیں ہوسکتا ترمیم تک رسائی حاصل کریں نجی ، لیکن اگر آپ کے پاس کلاس دوسرے طبقے کے ممبر کی حیثیت سے ہے تو ، غیر مستحکم کلاس کو نجی بنایا جاسکتا ہے۔
داخلی کلاس اور منفی کی اقسام
- اندرونی کلاس
- طریقہ - مقامی اندرونی کلاس
- گمنام اندرونی کلاس
اندرونی کلاس
اندرونی کلاس بنانے کے ل you آپ کو صرف کلاس کے اندر کلاس لکھنے کی ضرورت ہے۔ ایک داخلی کلاس نجی ہوسکتی ہے جس سے کسی تک رسائی حاصل نہیں کی جاسکتی ہے چیز کلاس سے باہر ذیل میں ایک داخلی کلاس بنانے کا پروگرام ہے۔ اس مثال میں ، اندرونی طبقے کو نجی بنایا جاتا ہے اور کسی طریقہ کے ذریعہ اس تک رسائی حاصل کی جاتی ہے۔
کلاس آؤٹر_سٹسٹ {اینٹ نمبر // اندرونی طبقاتی نجی کلاس اندرونی چوٹی {پبلک باطل پرنٹ (). System.out.println ('یہ ہماری داخلی کلاس ہے')}} // اس داخلی کلاس کو طریقہ باطل ڈسپلے_یئنر () سے حاصل کرنا { اندرونی_ اندرونی = نیا اندرونی_پیشتر () اندرونی.پرنٹ ()}} عوامی کلاس My_class {عوامی جامد باطل اہم (سٹرنگ آرگس []) {// بیرونی طبقے کا آؤٹ ڈور آؤٹ ریسٹ بیرونی = نیا آؤٹ ریسٹ () طریقہ کار تک رسائی حاصل کرنا . بیرونی.ڈیسکلے_ اندرونی ()}
آؤٹ پٹ
طریقہ - مقامی اندرونی کلاس
جاوا میں ، ایک کے اندر ایک کلاس لکھی جاسکتی ہے اور یہ ایک مقامی قسم ہے۔ مقامی متغیر کی طرح ، اندرونی طبقے کا دائرہ کار طریقہ کار میں ہی محدود ہے۔ ایک طریقہ کار - مقامی اندرونی کلاس صرف اس طریقہ کار میں ہی شامل کی جاتی ہے جہاں داخلی طبقے کی تعریف کی جاتی ہے۔ مندرجہ ذیل پروگرام میں بتایا گیا ہے کہ مقامی داخلی طبقے کو کس طرح استعمال کیا جا.۔
عوامی کلاس آؤٹ کلاس {// بیرونی طبقے کے باضابطہ طریقہ my_Method () num int num = 1001 // طریقہ-مقامی اندرونی طبقے کی کلاس StarInner_Test {عوامی باطل پرنٹ (). System.out.println ('یہ اسٹار اندرونی کلاس ہے') + num) inner inner // اندرونی طبقے کا اختتام // داخلی کلاس تک رسائی حاصل کرنا StarInner_Test star = new StarInner_Test () star.print ()} عوامی جامد باطل اہم (سٹرنگ آرگز []) {بیرونی کلاس بیرونی = نیا آؤٹرکلاس () بیرونی۔ my_Method ()}
آؤٹ پٹ
گمنام اندرونی کلاس
گمنام اندرونی کلاس ایک داخلی کلاس ہے جس کا اعلان کلاس نام کے بغیر کیا جاتا ہے۔ ایک گمنام اندرونی طبقے میں ، ہم ایک ہی وقت میں اس کا اعلان اور انسٹینٹیٹیٹ کرتے ہیں۔ وہ عام طور پر استعمال ہوتے ہیں جب آپ کو کلاس یا انٹرفیس کے طریقہ کار کو اوور رائیڈ کرنے کی ضرورت ہوتی ہے۔ نیچے دیئے گئے پروگرام میں ظاہر ہوتا ہے کہ گمنامی داخلی کلاس کا استعمال کیسے کریں -
خلاصہ کلاس AnonymousInnerTest {عوامی خلاصہ باطل مائیسٹ ()} عوامی کلاس Outer_class {عوامی جامد باطل مین (سٹرنگ آرگز []) {گمنامInnerTest اندرونی = new AnonymousInnerTest () {پبلک باطل مایسٹ (). System.out.println ('یہ ہے گمنام اندرونی ٹیسٹ کلاس کی مثال ')}} اندرونی.میٹی ()}}
آؤٹ پٹ-
مستحکم گھریلو طبقے: TO ایک گھریلو طبقہ ہے جو بیرونی طبقے کا مستحکم رکن ہے۔ اندرونی طبقے کے برعکس ، جامد گھریلو طبقے کے بیرونی طبقے کے ممبر متغیر تک رسائی حاصل نہیں ہوسکتی ہے کیونکہ جامد گھریلو طبقے کو بیرونی طبقے کی مثال کی ضرورت نہیں ہوتی ہے۔ لہذا ، بیرونی کلاس کا کوئی حوالہ نہیں ہے جس کے ساتھ آؤٹرکلاس.یہ ہے۔ جامد گھریلو طبقے کا نحو ہے۔
کلاس میو آؤٹر {مستحکم کلاس نیسٹڈسٹیسٹ {}}
جامد نیسٹڈ کلاس کی مثال
پبلک کلاس آؤٹر {مستحکم کلاس Nested_Test {عوامی باطل my_method (). System.out.println ('یہ ایڈوریکا کی گھریلو ٹیسٹ کلاس ہے')} stat عوامی جامد باطل مرکزی (سٹرنگ آرگس []) uter بیرونی.نیسٹڈ_سٹسٹ نیسٹڈ = نیا آؤٹر۔ نیسٹڈ_سٹیسٹ () نیسٹڈ ۔می_مثال ()}
آؤٹ پٹ
جامد اور غیر مستحکم گھریلو طبقات کے مابین فرق
مستحکم گھریلو کلاسوں میں براہ راست منسلک کلاس کے دوسرے ممبروں تک رسائی نہیں ہے۔ جامد ہونے کے ناطے اسے کسی منطق کے ذریعہ اپنی منسلک کلاس کے غیر مستحکم ممبروں تک رسائی حاصل کرنا ہوگی جس کا مطلب ہے کہ وہ براہ راست اپنے محصور طبقے کے غیر مستحکم ممبروں کا حوالہ نہیں دے سکتا ہے۔ اور اس پابندی کی وجہ سے ، جامد گھریلو کلاسیں شاذ و نادر ہی استعمال کی جاتی ہیں۔
ازگر میں طاقت کا استعمال کیسے کریں
غیر جامد گھومنے والی کلاسوں کو اس کے بیرونی طبقے کے تمام ممبروں تک رسائی حاصل ہے اور بیرونی طبقے کے دیگر غیر مستحکم ممبروں کی طرح اسی طرح براہ راست ان کا حوالہ دے سکتے ہیں۔
اس مضمون کے اختتام پر آنے سے پہلے آئیے کچھ اہم نکات پر غور کریں۔
یاد رکھنے کے لئے اہم نکات
- اندرونی طبقے کو ایک کلاس کا باقاعدہ ممبر سمجھا جاتا ہے۔
- چونکہ اندرونی طبقے بیرونی طبقے کے ممبر ہیں ، لہذا آپ داخلی طبقے کے ل protected محفوظ ، نجی جیسے مختلف رسائی کے ماڈیورفائرس کا استعمال کرسکتے ہیں۔
- چونکہ نیسٹڈ کلاس اپنی منسلک کلاس کا ممبر ہے ، لہذا آپ استعمال کرسکتے ہیں۔ (ڈاٹ) نوسٹڈ کلاس اور اس کے ممبروں تک رسائی حاصل کرنے کے لئے۔
- گھریلو طبقے کا استعمال آپ کے کوڈ کو زیادہ پڑھنے کے قابل بناتا ہے اور بہتر فراہم کرتا ہے encapsulation .
- داخلی طبقے کو بیرونی طبقے کے دوسرے ممبروں تک رسائی حاصل ہے ، چاہے ان کو نجی قرار دیا جائے۔
اس کے ساتھ ، ہم جاوا میں نیسیڈڈ کلاسوں پر اس بلاگ کا اختتام کرتے ہیں۔ اگر آپ جاوا کے بارے میں مزید معلومات حاصل کرنا چاہتے ہیں تو ، چیک کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کے نیٹ ورک ہیں۔ ایڈورکا کا جاوا J2EE اور SOA ٹریننگ اور سرٹیفیکیشن کورس طلباء اور پیشہ ور افراد کے لئے ڈیزائن کیا گیا ہے جو جاوا ڈویلپر بننا چاہتے ہیں۔ کورس آپ کو جاوا پروگرامنگ میں آغاز فراہم کرنے اور ہائبرنیٹ اور اسپرنگ جیسے جاوا کے مختلف فریم ورکوں کے ساتھ ساتھ جاوا کے دونوں بنیادی خیالات کے ساتھ تربیت دینے کے لئے ڈیزائن کیا گیا ہے۔
ہمارے لئے ایک سوال ہے؟ براہ کرم اس 'جاوا میں نیسٹڈ کلاس' بلاگ کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جلد سے جلد آپ کے پاس مل جائیں گے۔