इस उदाहरण के लिए, मान लीजिए कि हम क्लू ™ का एक डंबेड डाउन गेम बना रहे हैं। हमारे पास हवेली में प्रत्येक कमरे के लिए एक कक्षा है, और प्रत्येक कमरे में संदिग्ध और हथियार के लिए उप-वर्ग हैं। लेकिन बाद नेस्टेड वर्गों थे - Room[i] = new Room("Conservatory", 7, 3);
: कुछ की तरह:कक्षा और इसकी नेस्टेड कक्षाओं के लिए एक कन्स्ट्रक्टर
public Room(string Name, int Width, int Height)
{
this.Name = Name;
this.Width = Width;
this.Height = Height;
}
एक कमरे के रूप में सरल हुआ करता था शुरु कर रहा है:
class Room
{
public string Name;
public int Width;
public int Height;
// and so on...
public class Suspect
{
public string Name;
public bool isPurple;
}
public class Weapon
{
public string Name;
public bool IsMetal;
}
}
संदिग्ध और हथियार कक्षाएं जोड़ने से पहले, कमरे में निर्माता की तरह कुछ देखा पेश किया, क्या उनके प्रारंभिक वर्ग को मुख्य वर्ग के साथ साझा कन्स्ट्रक्टर के माध्यम से संभाला जा सकता है? कुछ ऐसा:
Room[i] = new Room("Library", 8, 5, "Professor Plum", true, "Candlestick", true);
मुझे एक समान सेटअप के कोई उदाहरण नहीं मिल रहे हैं। मैं यह कैसे हासिल कर सकता हूं?
क्या आप इस ParentClass.ChildClass childClass = new ParentClass.ChildClass() की तरह कुछ ढूंढ रहे हैं; – HatSoft
एक नेस्टेड क्लास के माता-पिता वर्ग के साथ कोई विशेष संबंध नहीं है। सिवाय इसके कि आप इसे निजी घोषित कर सकते हैं और इस प्रकार इसे पूरी तरह छुपा सकते हैं। और यह बाहरी वर्ग के निजी सदस्यों तक पहुंच सकता है। यही सब कुछ नहीं है, जहां कोई "साझा कन्स्ट्रक्टर" समझ में नहीं आता है। न ही चरित्र वर्ग को कमरे के निजी कार्यान्वयन के विवरण को समझने के लिए यह समझ में आता है। –
आपको कोई उदाहरण नहीं मिला क्योंकि कोई भी इसके लिए कोई उदाहरण नहीं लिख सकता है, संकलक कैसे जानता है कि "प्रोफेसर प्लम" को Suspect.Name प्रॉपर्टी के मूल्य के रूप में उपयोग किया जाना चाहिए? (मुझे लगता है कि यह आपका इरादा है) – Steve