जावा में कन्स्ट्रक्टर चेनिंग

Java Mem Kanstraktara Ceninga



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

यह पोस्ट जावा में कंस्ट्रक्टर चेनिंग के बारे में बताएगी।







जावा में कन्स्ट्रक्टर चेनिंग

घोषित उद्देश्यों के अनुसार एक कंस्ट्रक्टर को दूसरे कंस्ट्रक्टर में कॉल करने के लिए कंस्ट्रक्टर बदलना सबसे महत्वपूर्ण प्रक्रिया है। कन्स्ट्रक्टर चेनिंग के प्राथमिक उपयोगों में से एक है कई कन्स्ट्रक्टर होने पर अनावश्यक कोड से बचने के लिए। यह कोड को आसानी से समझने योग्य और पठनीय बनाता है।



जैसा कि नीचे बताया गया है, जावा में कंस्ट्रक्टर चेनिंग करने के दो तरीके हैं:



कंस्ट्रक्टर चेनिंग की बेहतर समझ के लिए इन तरीकों को एक-एक करके देखें।





विधि 1: 'इस ()' कीवर्ड का उपयोग करके समान वर्ग के भीतर कंस्ट्रक्टर चेनिंग

जब कंस्ट्रक्टर श्रृंखलन एक ही वर्ग के भीतर किया जाता है, तो जावा ' यह() ”कीवर्ड का प्रयोग किया जाता है। क्लास इंस्टेंस शुरू होने पर डिफॉल्ट कंस्ट्रक्टर को लागू किया जाएगा। यह 'का उपयोग करके दूसरे कंस्ट्रक्टर को कॉल करेगा' यह 'कीवर्ड। फिर, कंसोल पर परिणाम प्रदर्शित करने के लिए 'println ()' विधि का आह्वान करें:



मिन ( ) {
यह ( 5 ) ;
System.out.println ( 'डिफ़ॉल्ट कन्स्ट्रक्टर' ) ;
}


अब, पैरामीटर वाले दूसरे कंस्ट्रक्टर को कॉल करें ' 'और' में पैरामीटर का मान सेट करें यह() 'कीवर्ड। फिर, 'का उपयोग करें प्रिंटल () 'और परिणाम दिखाने के लिए तर्क के रूप में' ए 'पास करें:

मिन ( इंट ए ) {
यह ( 5 , बीस ) ;
System.out.println ( ) ;
}


इस कंस्ट्रक्टर में, हमने दो पूर्णांक प्रकार के मापदंडों को 'के रूप में पारित किया है' ' और ' बी ”। उसके बाद, 'Println ()' विधि का आह्वान करें और पास करें ' क * ख ” जो इन चरों का उत्पाद लौटाएगा:

मिन ( इंट ए, इंट बी ) {
System.out.println ( * बी ) ;
}


में ' मुख्य() ” विधि, डिफ़ॉल्ट कंस्ट्रक्टर को आमंत्रित करें जो स्वचालित रूप से अन्य कंस्ट्रक्टर को कॉल करेगा और परिणाम को कंसोल पर प्रदर्शित करेगा:

सार्वजनिक स्थैतिक शून्य मुख्य ( स्ट्रिंग तर्क [ ] ) {
नया मिनट ( ) ;
}


नतीजतन, सभी कंस्ट्रक्टर्स का आउटपुट कंसोल पर प्रदर्शित किया जाएगा:


यदि आप कंस्ट्रक्टर को कई वर्गों में चेन करना चाहते हैं, तो नीचे दी गई विधि को देखें।

विधि 2: 'सुपर ()' कीवर्ड का उपयोग करके कंस्ट्रक्टर को दूसरी कक्षा में जोड़ना

आप कंस्ट्रक्टर्स को एक क्लास से दूसरे क्लास में चेन भी कर सकते हैं। इसके लिए “सुपर ()” कीवर्ड का उपयोग किया जाता है। ऐसा करने के लिए, मुख्य वर्ग में निम्न कोड का उपयोग करें।

सबसे पहले, एक स्ट्रिंग प्रकार चर परिभाषित करें ' नाम 'और मुख्य वर्ग के नाम का उपयोग करके पहले निर्माता को कॉल करें:

स्ट्रिंग नाम;
मिन ( ) {
यह ( '' ) ;
System.out.println ( 'बेस क्लास के कंस्ट्रक्टर के बिना' ) ;
}


दूसरे कंस्ट्रक्टर को आमंत्रित करें और ऊपर घोषित चर को पास करें ' स्ट्रिंग नाम 'पैरामीटर के रूप में। उपयोग ' यह ”कीवर्ड मूल्य तक पहुँचने और आह्वान करने के लिए“ प्रिंटल () ” मुद्रण उद्देश्यों के लिए विधि:

मिन ( स्ट्रिंग नाम ) {
यह नाम = नाम;
System.out.println ( 'आधार के पैरामिट्रीकृत कन्स्ट्रक्टर को कॉल करना' ) ;
}


के अंदर ' मुख्य() 'विधि, चाइल्ड क्लास को पैरामीटर के साथ कॉल करें' नाम ”। वह पैरेंट क्लास कंस्ट्रक्टर्स को कॉल करेगा जहां पैरामीटर ' नाम ' पारित कर दिया गया है। फिर, यह चाइल्ड क्लास कंस्ट्रक्टर को पैरामीटर के साथ आमंत्रित करेगा ' नाम ':

सार्वजनिक स्थैतिक शून्य मुख्य ( स्ट्रिंग तर्क [ ] ) {
नया बच्चा ( 'नाम' ) ;
}


एक बाल वर्ग बनाया जाता है जो 'का उपयोग करता है' का विस्तार ” मूल वर्ग को इनहेरिट करने के लिए कीवर्ड और तीसरे कंस्ट्रक्टर को आमंत्रित करें। उसके बाद अगले कंस्ट्रक्टर को कॉल करें और इस कंस्ट्रक्टर के अंदर, पैरेंट क्लास के दूसरे कंस्ट्रक्टर को आमंत्रित करें:

क्लास चाइल्ड मिनट बढ़ाता है {
बच्चा ( ) {
System.out.println ( 'बाल वर्ग के तर्क निर्माता के बिना' ) ;
}
बच्चा ( स्ट्रिंग नाम ) {
बहुत अच्छा ( नाम ) ;
System.out.println ( 'बच्चे के पैरामिट्रीकृत कन्स्ट्रक्टर को कॉल करना' ) ;
}
}


उत्पादन


जावा में कन्स्ट्रक्टर चेनिंग के बारे में यह सब कुछ है।

निष्कर्ष

जावा में, एक ही कक्षा में कंस्ट्रक्टर की चेनिंग 'यह ()' कीवर्ड का उपयोग करके की जाती है, जबकि 'सुपर ()' कीवर्ड का उपयोग विभिन्न वर्गों पर कंस्ट्रक्टर चेनिंग करने के लिए किया जाता है। कंस्ट्रक्टर चेनिंग इनहेरिटेंस की मदद से होता है। सब-क्लास कंस्ट्रक्टर पहले सुपर-क्लास कंस्ट्रक्टर को कॉल करता है और फिर, चाइल्ड-क्लास कंस्ट्रक्टर्स को आमंत्रित किया जा सकता है। इस पोस्ट में व्यावहारिक उदाहरणों के साथ जावा में कंस्ट्रक्टर चेनिंग पर चर्चा की गई है।