कंस्ट्रक्टर एक विशेष मेथड है जो ऑब्जेक्ट बनने पर स्वचालित रूप से आह्वान होता है। इसका नाम क्लास के समान होता है, कोई रिटर्न टाइप नहीं।
बुनियादी उदाहरण
using System;
public class Department
{
public Department()
{
Console.WriteLine("कंस्ट्रक्टर आह्वान हुआ");
}
public static void Main(string[] args)
{
Department dept1 = new Department(); // यहां कंस्ट्रक्टर चलता है
}
}
आउटपुट
कंस्ट्रक्टर आह्वान हुआ
कंस्ट्रक्टर के प्रकार
- डिफ़ॉल्ट/पैरामीटरलेस: कोई पैरामीटर नहीं (
public ClassName())। - पैरामीटर वाला: आर्गुमेंट्स लेता है (
public ClassName(int id))। - स्टैटिक:
static ClassName()- स्टैटिक फील्ड्स इनिशियलाइज़ करता है, एक बार चलता है। - प्राइवेट:
private ClassName()- सिंगलटन, फैक्टरी पैटर्न के लिए। - कॉपी कंस्ट्रक्टर:
public ClassName(ClassName other)- क्लोनिंग के लिए।
मुख्य नियम
- यदि कोई कंस्ट्रक्टर न लिखें → कंपाइलर डिफ़ॉल्ट देता है।
- यदि कोई पैरामीटर वाला कंस्ट्रक्टर लिखें → डिफ़ॉल्ट **नहीं** मिलता (स्पष्ट लिखें)।
- कंस्ट्रक्टर ओवरलोडिंग: एक ही क्लास में एकाधिक कंस्ट्रक्टर्स (अलग पैरामीटर्स)।
this()से इसी क्लास का दूसरा कंस्ट्रक्टर कॉल करें।base()से पैरेंट क्लास का कंस्ट्रक्टर कॉल करें।