जावा कंस्ट्रक्टर ट्यूटोरियल

Java Constructor Tutorial



कंस्ट्रक्टर टूल ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के लिए उपयोग किया जाने वाला एक बहुत ही महत्वपूर्ण और उपयोगी तरीका है। किसी भी वर्ग के लिए कंस्ट्रक्टर घोषित करना अनिवार्य नहीं है, और इस टूल का उपयोग मुख्य रूप से ऑब्जेक्ट निर्माण के समय क्लास के ऑब्जेक्ट को इनिशियलाइज़ करने के लिए किया जाता है। कंस्ट्रक्टर अन्य सामान्य तरीकों की तरह काम नहीं करता है। बल्कि, किसी ऑब्जेक्ट के घोषित होने पर कंस्ट्रक्टर टूल को स्वचालित रूप से कॉल किया जाता है, और यह ऑब्जेक्ट के लिए मेमोरी लोकेशन आवंटित करता है। यह ट्यूटोरियल आपको दिखाएगा कि विभिन्न प्रकार के यूजर-डिफ़ाइंड कंस्ट्रक्टर्स को जावा क्लास प्रोग्रामिंग में कैसे लागू और उपयोग किया जा सकता है।

कंस्ट्रक्टर की विशेषताएं

  1. कंस्ट्रक्टर का नाम क्लास के नाम के समान होना चाहिए।
  2. वापसी प्रकार शून्य है।
  3. कंस्ट्रक्टर स्थिर, सार और अंतिम नहीं हो सकता।

कंस्ट्रक्टर के प्रकार







  1. चूक जाना
  2. पैरामीटर-कम
  3. पैरामिट्रीकृत

1. डिफ़ॉल्ट कंस्ट्रक्टर

डिफ़ॉल्ट कंस्ट्रक्टर जावा कंपाइलर द्वारा बनाया जाता है जब कोडर क्लास के लिए कोई कंस्ट्रक्टर घोषित नहीं करता है और इस कंस्ट्रक्टर में कोई तर्क नहीं होता है। जावा फ़ाइल में डिफ़ॉल्ट कंस्ट्रक्टर के लिए कोई कोड नहीं है। डिफ़ॉल्ट कंस्ट्रक्टर कोड जावा कोड के संकलन के समय बनाया जाता है और इसमें संग्रहीत किया जाता है ।कक्षा फ़ाइल।



2. पैरामीटर-कम कंस्ट्रक्टर

जब किसी कंस्ट्रक्टर को बिना किसी पैरामीटर या तर्क के घोषित किया जाता है, तो उसे पैरामीटर-रहित कंस्ट्रक्टर कहा जाता है। एक पैरामीटर-रहित कंस्ट्रक्टर एक डिफ़ॉल्ट कंस्ट्रक्टर की तरह काम करता है और इस कंस्ट्रक्टर में स्टेटमेंट हो सकते हैं, या यह खाली हो सकता है।



3. पैरामीटरेटेड कंस्ट्रक्टर

जब किसी कंस्ट्रक्टर को एक या अधिक पैरामीटर के साथ घोषित किया जाता है, तो उसे एक पैरामीटरयुक्त कंस्ट्रक्टर कहा जाता है। ऑब्जेक्ट निर्माण के समय कंस्ट्रक्टर के पैरामीटर मान पास किए जाते हैं।





उदाहरण 1: एक पैरामीटर-रहित कंस्ट्रक्टर बनाना

निम्न कोड दिखाता है कि पैरामीटर-रहित कंस्ट्रक्टर का उपयोग कैसे करें। यह पहले उल्लेख किया गया था कि कंस्ट्रक्टर विधि का नाम वर्ग के नाम के समान होगा। यहाँ, वर्ग का नाम है ' con1 ,' इसलिए पैरामीटर-रहित कंस्ट्रक्टर का नाम है ' con1 () ।' दो वर्ग चर, ' नाम ' तथा ' उम्र ,' यहां घोषित किए गए हैं। वस्तु चर घोषित करते समय ' ओब्जो ,' कंस्ट्रक्टर को बुलाया जाएगा और एक विशेष संदेश प्रिंट किया जाएगा। उसके बाद, दो मान वर्ग चर में असाइन किए जाते हैं और बाद में का उपयोग करके मुद्रित किए जाते हैं 'ओब्ज' वस्तु।

सह लोक कक्षाcon1{

// चर घोषित करें
डोरी नाम;
NSउम्र;

// पैरामीटर-कम कंस्ट्रक्टर
con1() {
प्रणाली .बाहर.प्रिंट्लन('निर्माता कहा जाता है।');

// वैरिएबल को इनिशियलाइज़ करें
नाम= फहीम रजा;
उम्र= 30;
}

// मुख्य () विधि
सह लोक स्थिर शून्यमुख्य( डोरी []args) {

// एक वस्तु बनाएं
con1 obj= नयाcon1();

// वस्तु गुणों के मूल्यों को प्रिंट करें
प्रणाली .बाहर.प्रिंट('की उम्र ' +ओबीजेनाम + ' है ' +ओबीजेउम्र);
}
}

आउटपुट:



निम्न छवि कोड का आउटपुट दिखाती है। कंस्ट्रक्टर को ऑब्जेक्ट क्रिएशन और मैसेज के समय कहा जाता है कंस्ट्रक्टर कहा जाता है मुद्रित है। 'के मान नाम ' तथा ' उम्र ' कंस्ट्रक्टर के अंदर असाइन किए गए हैं। इन चरों के मान बाद में मुद्रित किए जाते हैं।

उदाहरण 2: एक पैरामीटरयुक्त कंस्ट्रक्टर बनाएं

निम्नलिखित कोड मूल वेतन के आधार पर किसी कर्मचारी के कुल वेतन की गणना करेगा और गणना किए गए वेतन के साथ उस कर्मचारी की अन्य जानकारी प्रिंट करेगा। यहां, सात वर्ग चर घोषित किए गए हैं। कंस्ट्रक्टर, जिसका नाम ' con2 () ,' के तीन पैरामीटर हैं। पहले दो पैरामीटर स्ट्रिंग मानों को 'में लेंगे' नाम ' तथा ' पद 'पैरामीटर, और तीसरा पैरामीटर' में संख्यात्मक मान लेगा बुनियादी ' पैरामीटर। वस्तु निर्माण के समय इन मापदंडों के मूल्यों को पारित किया जाएगा। कंस्ट्रक्टर इन मानों के साथ क्लास वेरिएबल्स को इनिशियलाइज़ करेगा और 'के मूल्य के आधार पर अन्य मानों की गणना करेगा। बुनियादी ' पैरामीटर। इसके बाद कर्मचारी का नाम, पद और वेतन प्रिंट होगा।

सह लोक कक्षाcon2{

// चर घोषित करें
डोरी नाम;
डोरी पद;
NSबुनियादी;
दोहराघर का किराया;
दोहरामेडिकल;
दोहरापरिवहन;
दोहरावेतन;

// पैरामीटरयुक्त कंस्ट्रक्टर
con2( डोरी नाम, डोरी पद,NSबुनियादी) {
यह.नाम =नाम;
यह.पद =पद;
यह.बुनियादी =बुनियादी;
यह.घर का किराया =बुनियादी*0.3;
यह.मेडिकल =बुनियादी*0.2;
यह.परिवहन =बुनियादी*0.1;
वेतन=बुनियादी+घर का किराया+मेडिकल+परिवहन;
}

// मुख्य () विधि
सह लोक स्थिर शून्यमुख्य( डोरी []args) {

// एक वस्तु बनाएं
con2 obj= नयाcon2('मीर सब्बीर','मुनीम',65000);

// वस्तु गुणों के मूल्यों को प्रिंट करें
प्रणाली .बाहर.प्रिंट('कर्मचारी का नाम: ' +ओबीजेनाम + 'एन' + 'पद: '+ओबीजेपद +
'एन' + 'वेतन: टीके'+ओबीजेवेतन);
}
}

आउटपुट:

निम्न छवि कोड का आउटपुट दिखाती है। यहां वस्तु निर्माण के स्टेटमेंट में कर्मचारी का नाम, पद और मूल वेतन दिया जाता है। यहां कुल वेतन, नाम और पद मुद्रित हैं।

उदाहरण 3: कंस्ट्रक्टर चेनिंग बनाएं

कंस्ट्रक्टर चेनिंग की अवधारणा को समझने के लिए ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की इनहेरिटेंस विशेषता के बारे में जानना महत्वपूर्ण है। जब किसी अन्य वर्ग को इनहेरिट करके एक नया वर्ग बनाया जाता है, तो उसे इनहेरिटेंस कहा जाता है। इस मामले में, माता-पिता या आधार वर्ग के सभी गुण बच्चे या व्युत्पन्न वर्ग से सुलभ हैं। जब चाइल्ड क्लास का कोई ऑब्जेक्ट बनाया जाता है, तो यह अपने कंस्ट्रक्टर को कॉल करने से पहले पैरेंट क्लास के कंस्ट्रक्टर को स्वचालित रूप से कॉल करता है। NS ' उत्तम() पैरेंट कंस्ट्रक्टर को कॉल करने के लिए अन्य भाषाओं में विधि का उपयोग किया जाता है, लेकिन जावा कंपाइलर इस विधि को स्वचालित रूप से कॉल करता है। इस तरह से कंस्ट्रक्टर्स का उपयोग करना कंस्ट्रक्टर चेनिंग कहलाता है, और इस प्रक्रिया को इस उदाहरण में दिखाया गया है। यहाँ, मूल वर्ग का नाम है ' माता-पिता ' और बच्चे के वर्ग का नाम है ' con3 .' नाम की एक और विधि है जोड़ना() ' चाइल्ड क्लास में जो पैरेंट और चाइल्ड कंस्ट्रक्टर्स में असाइन किए गए मानों को जोड़ती है।

कक्षामाता-पिता{

// चर घोषित करें
डोरी strVal;

// पैरेंट कंस्ट्रक्टर
माता-पिता(){
प्रणाली .बाहर.प्रिंट्लन('पैरेंट कंस्ट्रक्टर कहा जाता है');
strVal= 'मैं पसंद करता हूं ';
}
}

सह लोक कक्षाcon3फैलीमाता-पिता{

// चर घोषित करें
डोरी चाइल्डस्ट्रावल;

// चाइल्ड कंस्ट्रक्टर
con3(){
प्रणाली .बाहर.प्रिंट्लन('चाइल्ड कंस्ट्रक्टर कहा जाता है');
चाइल्डस्ट्रावल=strVal+ 'जावा प्रोग्रामिंग';
}

// स्ट्रिंग्स को संयोजित करने का एक और तरीका
डोरी जोड़ना()
{
वापसी यह.चाइल्डस्ट्रावल;
}

// मुख्य () विधि
सह लोक स्थिर शून्यमुख्य( डोरी []args) {

// एक वस्तु बनाएं
con3 obj= नयाcon3();
// वस्तु गुणों के मूल्यों को प्रिंट करें
प्रणाली .बाहर.प्रिंट(ओबीजेजोड़ना());
}
}

आउटपुट:

निम्न छवि कोड का आउटपुट दिखाती है। पहला संदेश पैरेंट कंस्ट्रक्टर से प्रिंट होता है, जबकि दूसरा मैसेज चाइल्ड कंस्ट्रक्टर से प्रिंट होता है। अंतिम संदेश 'को कॉल करके मुद्रित किया जाता है' जोड़ना() ' तरीका।

निष्कर्ष

कंस्ट्रक्टर की अवधारणा और विभिन्न कंस्ट्रक्टरों के उपयोग को इस ट्यूटोरियल में आसान जावा कोड उदाहरणों का उपयोग करके समझाया गया है, ताकि नौसिखिए उपयोगकर्ता अनुसरण कर सकें। उम्मीद है, इन उदाहरणों से आपको जावा कंस्ट्रक्टर की मूल बातें समझने में मदद मिली होगी।