नेस्टेड क्लास (आंतरिक क्लास)
नेस्टेड क्लास एक क्लास है जिसे दूसरी एन्क्लोज़िंग क्लास के अंदर घोषित किया जाता है। इसके इनर और आउटर दोनों क्लास होते हैं। यह अपने एन्क्लोज़िंग क्लास का मेंबर होता है, लेकिन एन्क्लोज़िंग क्लास के मेंबर्स की नेस्टेड क्लास के मेंबर्स तक पहुंच नहीं होती।
उदाहरण:
class One {
public int num1;
public class Two {
public int num2;
}
}
class Demo {
static void Main() {
One x = new One();
x.num1++;
One.Two xy = new One.Two();
xy.num2++;
}
}
व्याख्या:
class Twoclass Oneके अंदर घोषित है - यह एक नेस्टेड क्लास हैpublicएक्सेसिबिलिटी होने के कारण इसेclass Oneके बाहर भी एक्सेस किया जा सकता है- इंस्टेंस बनाने के लिए:
One.Two xy = new One.Two();
नेस्टेड क्लास के प्रकार:
- नेस्टेड क्लास: दूसरी क्लास के अंदर घोषित (ऊपर उदाहरण)
- इनर क्लास (इंस्टेंस-बाउंड): C# में सीधे सपोर्टेड नहीं (Java की तरह)
- स्टैटिक नेस्टेड क्लास:
static class Two- आउटर इंस्टेंस के बिना एक्सेसिबल
उपयोग के मामले:
- क्लोज़ली रिलेटेड क्लास्स को ग्रुप करना
- एन्कैप्सुलेशन बढ़ाना (प्राइवेट नेस्टेड क्लास)
- आउटर क्लास के प्राइवेट मेंबर्स तक पहुंच (यदि नेस्टेड क्लास प्राइवेट है)