कंस्ट्रक्टर ओवरलोडिंग

Jul 30, 2024

कंस्ट्रक्टर ओवरलोडिंग

कंस्ट्रक्टर की जानकारी

  • कंस्ट्रक्टर का नाम वही होता है जो कक्षा (class) का नाम है।
  • डिफ़ॉल्ट कंस्ट्रक्टर में कोई आर्ग्युमेंट नहीं होता।
  • कंस्ट्रक्टर तब कॉल होता है जब क्लास का ऑब्जेक्ट बनाया जाता है।

कंस्ट्रक्टर ओवरलोडिंग क्या है?

  • कंस्ट्रक्टर ओवरलोडिंग का मतलब है एक ही कक्षा में एक से अधिक कंस्ट्रक्टर बनाना।
  • प्रत्येक कंस्ट्रक्टर का सिग्नेचर (parameters) अलग होना चाहिए, ताकि कंपाइल टाइम पर एरर न आए।

उदाहरण

  1. डिफ़ॉल्ट कंस्ट्रक्टर
    public Program() {
        System.out.println("This is the first constructor");
    }
    
  2. दो आर्ग्युमेंट्स वाला कंस्ट्रक्टर
    public Program(int a, int b) {
        System.out.println(a + b);
    }
    
  3. तीन आर्ग्युमेंट्स वाला कंस्ट्रक्टर
    public Program(int a, int b, int c) {
        System.out.println(a + b + c);
    }
    
  4. स्ट्रिंग आर्ग्युमेंट्स वाला कंस्ट्रक्टर
    public Program(String a, String b, String c) {
        System.out.println(a + b + c);
    }
    

ऑब्जेक्ट बनाते समय कंस्ट्रक्टर कॉल करना

  • डिफ़ॉल्ट कंस्ट्रक्टर कॉल
    Program p = new Program();
    
    • आउटपुट: This is the first constructor
  • दो आर्ग्युमेंट्स वाला कंस्ट्रक्टर कॉल
    Program p = new Program(20, 30);
    
    • आउटपुट: 50
  • तीन आर्ग्युमेंट्स वाला कंस्ट्रक्टर कॉल
    Program p = new Program(20, 30, 20);
    
    • आउटपुट: 70
  • स्ट्रिंग आर्ग्युमेंट्स वाला कंस्ट्रक्टर कॉल
    Program p = new Program("a", "b", "c");
    
    • आउटपुट: abc

मुख्य बिंदु

  • कंस्ट्रक्टर ओवरलोडिंग में सभी कंस्ट्रक्टर का सिग्नेचर अलग होना चाहिए।
  • कंपाइल टाइम पर सही कंस्ट्रक्टर का चुनाव आर्ग्युमेंट्स के अनुसार होता है।
  • सेम सिग्नेचर वाले कंस्ट्रक्टर बनाने पर एरर आएगी।