जावा एक विकल्प-उन्मुख प्रोग्रामिंग भाषा है। एक प्रोग्रामिंग भाषा जो अपने उपयोगकर्ताओं को एक बार लिखने और विभिन्न प्लेटफार्मों पर चलाने के लिए एक कोड विकसित करने में मदद करती है। इन प्लेटफार्मों को जावा का समर्थन करना चाहिए और किसी भी पुनर्संकलन की आवश्यकता नहीं है।
जावा प्रोग्रामिंग लैंग्वेज के डेवलपर जेम्स गोसलिंग हैं।
चाबी छीन लेना
- कंस्ट्रक्टर एक विशेष विधि है जिसे ऑब्जेक्ट बनाते समय कहा जाता है, जबकि विधि एक फ़ंक्शन है जिसे किसी विशिष्ट कार्य को करने के लिए ऑब्जेक्ट पर बुलाया जाता है।
- कंस्ट्रक्टर्स का उपयोग ऑब्जेक्ट की स्थिति को आरंभ करने के लिए किया जाता है, जबकि विधियां ऑब्जेक्ट की स्थिति या व्यवहार पर कार्रवाई करती हैं।
- कंस्ट्रक्टर्स के पास रिटर्न प्रकार नहीं होता है, जबकि विधियों में उनके उद्देश्य के आधार पर रिटर्न प्रकार हो भी सकता है और नहीं भी।
कंस्ट्रक्टर बनाम विधि
OOPS (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग) में, एक कंस्ट्रक्टर वांछित विशेषताओं के साथ किसी ऑब्जेक्ट का एक उदाहरण बनाता है। जब कोई वस्तु बनाई जाती है तो इसे अंतर्निहित रूप से लागू किया जाता है। एक विधि कोड का एक ब्लॉक है जो एक विशिष्ट कार्य करता है और ऑब्जेक्ट संदर्भ का उपयोग करके कॉल किया जा सकता है। प्रोग्राम निष्पादन के दौरान विधियों को किसी भी समय लागू किया जा सकता है। कंस्ट्रक्टर्स को केवल ऑब्जेक्ट निर्माण के दौरान ही बुलाया जाता है।
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में, कंस्ट्रक्टर एक विशेष प्रकार का प्रोग्राम निर्देश अनुक्रम होता है जो एक नया ऑब्जेक्ट बनाने में मदद करता है। ऐसा कहा जाता है कि ये दोनों हैं स्पष्ट और अंतर्निहित, यानी, यह पैरामीटरयुक्त कंस्ट्रक्टर के साथ आता है और कोई Arg कंस्ट्रक्टर नहीं है।
उनमें एक ऐड-ऑन सुविधा भी है जिसे ओवरराइड किया जा सकता है।
यह विधि ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भी है (OOP), जो संदेश और ऑब्जेक्ट से जुड़े कार्यक्रमों के एक विशिष्ट अनुक्रम की अनुमति देता है। विधि को केवल स्पष्ट कहा जाता है, जिसका अर्थ है कि यह एक पैरामीटरयुक्त कंस्ट्रक्टर के साथ आता है।
इसमें ऐसे कथन भी शामिल हैं जो हमेशा आउटपुट नहीं लौटाते।
तुलना तालिका
तुलना के पैरामीटर | निर्माता | विधि |
---|---|---|
मंगलाचरण | इसे सिस्टम द्वारा अप्रत्यक्ष रूप से लागू किया जाता है। | इसे प्रोग्राम कोड के दौरान लागू किया जाता है। |
का उपयोग करता है | इसका उपयोग किसी ऑब्जेक्ट को इनिशियलाइज़ करने के लिए किया जाता है। | इसका उपयोग किसी वस्तु की कार्यक्षमता को प्रदर्शित करने के लिए किया जाता है। |
विरासत | कोई उपवर्ग इसे प्राप्त नहीं कर सकता. | एक उपवर्ग को यह विरासत में मिलता है। |
वापसी प्रकार | इसका कोई रिटर्न प्रकार नहीं है. | इसका एक रिटर्न प्रकार है. |
नाम | ऐसा कहा जाता है कि कंस्ट्रक्टर का नाम क्लास के नाम के समान होना चाहिए। | ऐसा कहा जाता है कि विधि का नाम कक्षा के समान नहीं हो सकता है। |
कंस्ट्रक्टर क्या है?
जावा कंस्ट्रक्टर को प्रोग्राम अनुक्रमों की एक विशिष्ट श्रृंखला के साथ ऑब्जेक्ट-ओरिएंटेड प्रोग्राम (ओओपी) के रूप में परिभाषित किया जा सकता है जो एक नई ऑब्जेक्ट बनाने में मदद करेगा। इसमें स्पष्ट (पैरामीटरयुक्त कंस्ट्रक्टर) और अंतर्निहित (कोई आर्ग कंस्ट्रक्टर नहीं) दोनों शामिल हैं।
इसे ओवरलोड किया जा सकता है लेकिन ओवरराइड नहीं किया जा सकता। साथ ही, यह स्थिर, अमूर्त या वास्तविक नहीं हो सकता। कंस्ट्रक्टर किसी ऑब्जेक्ट को इनिशियलाइज़ करता है और उसका कोई रिटर्न प्रकार नहीं होता है। ऐसा कहा जाता है कि कंस्ट्रक्टर का नाम क्लास के समान होना चाहिए।
उदाहरण के लिए -
इकाई परीक्षण {
परीक्षा () {
// कंस्ट्रक्टर बॉडी
}
}
उपरोक्त उदाहरण में, परीक्षा () कंस्ट्रक्टर कहा जाता है. इस प्रकार, यह साबित होता है कि कंस्ट्रक्टर का नाम समान है और उसका कोई रिटर्न प्रकार नहीं है।
जावा प्रोग्रामिंग भाषा में कंस्ट्रक्टर तीन प्रकार के होते हैं -
- नो-आर्ग कंस्ट्रक्टर - ऐसा कहा जाता है कि जावा कंस्ट्रक्टर के पास कोई पैरामीटर हो भी सकता है और नहीं भी।
- पैरामीटरयुक्त कंस्ट्रक्टर - जो कंस्ट्रक्टर एक या अधिक पैरामीटर स्वीकार कर सकते हैं उन्हें जावा पैरामीटराइज्ड कंस्ट्रक्टर (पैरामीटर वाले कंस्ट्रक्टर) कहा जाता है।
- डिफ़ॉल्ट कंस्ट्रक्टर - जब कोई भी कंस्ट्रक्टर नहीं बनाता है, तो जावा कंपाइलर प्रोग्राम चलाते समय स्वचालित रूप से एक कंस्ट्रक्टर बनाता है। इस प्रकार, इसे डिफॉल्ट कंस्ट्रक्टर कहा जाता है।
विधि क्या है?
विधि ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) भाषा है जो अपने उपयोगकर्ता को संदेश और ऑब्जेक्ट से जुड़े कार्यक्रमों की एक विशिष्ट श्रृंखला चलाने की अनुमति देती है। विधि केवल विशिष्ट कार्यों और कार्यों को करने के लिए डिज़ाइन की गई है।
कंस्ट्रक्टर के विपरीत, इसमें क्लास के समान कंस्ट्रक्टर का नाम नहीं हो सकता है। इसका एक रिटर्न प्रकार (शून्य सहित) भी है। ऐसा कहा जाता है कि विधि हमेशा स्पष्ट (पैरामीटरयुक्त कंस्ट्रक्टर) होनी चाहिए।
कंस्ट्रक्टर के विपरीत, जावा कंपाइलर मैन्युअल रूप से नहीं बनाए जाने पर कोई डिफ़ॉल्ट विधि प्रदान नहीं करता है। कहा जाता है कि गैर-स्थैतिक तरीकों को विरासत में मिला हुआ कहा जाता है, और साथ ही, उन्हें ओवरराइड भी किया जा सकता है।
विधि किसी भी वस्तु (गैर स्थैतिक विधि), वर्ग संदर्भ (स्थैतिक विधि), या नाम का उपयोग कर सकती है। वे विभिन्न पैरामीटर मान भी स्वीकार करते हैं। उदाहरण के लिए -
A बर्नर जैसी विधियाँ हैं on or बंद, हालांकि राज्य बर्नर का, जो चालू या बंद है, एक निश्चित समय पर कुछ हद तक होना चाहिए। यह की संपत्ति मानी जाती है बर्नर.
कंस्ट्रक्टर और मेथड के बीच मुख्य अंतर
- कहा जाता है कि कंस्ट्रक्टर का उपयोग सिस्टम द्वारा अंतर्निहित रूप से किया जाता है, जबकि मेथड का उपयोग प्रोग्राम कोड के दौरान इनवॉइस करने के लिए किया जाता है।
- इसके अलावा, यदि कंस्ट्रक्टर की अनुपस्थिति है, तो जावा कंपाइलर द्वारा प्रदान किए गए डिफ़ॉल्ट कंस्ट्रक्टर को उपयोग में लिया जा सकता है, जबकि इसकी अनुपस्थिति में किसी भी डिफ़ॉल्ट विधि का उपयोग नहीं किया जा सकता है।
- कोई भी उपवर्ग कंस्ट्रक्टर को इनहेरिट नहीं करता है, जबकि एक उपवर्ग मेथड को इनहेरिट कर सकता है।
- कंस्ट्रक्टर्स के पास कोई रिटर्न प्रकार नहीं होता है, जबकि मेथड में रिटर्न प्रकार होता है।
- जबकि ऐसा माना जाता है कि कंट्रास्ट मेथड में कंस्ट्रक्टर का नाम क्लास के समान होना चाहिए।
- कंस्ट्रक्टर्स को गैर-विरासत में मिला हुआ कहा जाता है, जबकि इसके विपरीत, गैर-स्थैतिक तरीकों को विरासत में मिला हुआ कहा जाता है।
- कंस्ट्रक्टर को कभी भी ओवरराइड नहीं किया जा सकता, जबकि मेथड को ओवरराइड किया जा सकता है।
- यदि आपने कोई डिफॉल्ट मेथड नहीं दिया है तो जावा कंपाइलर एक डिफॉल्ट कंस्ट्रक्टर प्रदान करता है।
संदर्भ
- https://link.springer.com/article/10.1007/s100440200009
- https://ieeexplore.ieee.org/abstract/document/502681
अंतिम अद्यतन: 11 जून, 2023
संदीप भंडारी ने थापर विश्वविद्यालय (2006) से कंप्यूटर में इंजीनियरिंग में स्नातक की उपाधि प्राप्त की है। उनके पास प्रौद्योगिकी क्षेत्र में 20 वर्षों का अनुभव है। उन्हें डेटाबेस सिस्टम, कंप्यूटर नेटवर्क और प्रोग्रामिंग सहित विभिन्न तकनीकी क्षेत्रों में गहरी रुचि है। आप उनके बारे में और अधिक पढ़ सकते हैं जैव पृष्ठ.
कंस्ट्रक्टर और विधियों के बीच तुलना बहुत अच्छी तरह से व्यक्त की गई है और समझने में आसान है। महान काम!
मैं इससे अधिक सहमत नहीं हो सका. जावा प्रोग्रामिंग को समझने के लिए यह लेख एक मूल्यवान संसाधन है।
यह लेख जावा में कंस्ट्रक्टर और तरीकों के बीच अंतर को उजागर करने का एक उत्कृष्ट काम करता है। यह जानकारीपूर्ण और अच्छी तरह से लिखा गया है।
बिल्कुल, यह अवधारणाओं की बहुत व्यापक व्याख्या है।
मुझे लेख बहुत उपयोगी लगा. उदाहरणों से समझना आसान हो जाता है।
यह लेख बहुत अच्छे ढंग से लिखा गया है और जानकारीपूर्ण है. कंस्ट्रक्टर और विधियों के बीच अंतर स्पष्ट रूप से समझाया गया है।
जावा एक बहुत ही बहुमुखी और कुशल प्रोग्रामिंग भाषा प्रतीत होती है। कंस्ट्रक्टर और विधियों के बीच अंतर बहुत स्पष्ट है।
बिल्कुल, लेख बहुत अच्छा लिखा गया है और जानकारीपूर्ण है।
मैं पूरी तरह से सहमत हुँ। प्रदान किया गया स्पष्टीकरण व्यापक समझ देता है।
लेख जावा में कंस्ट्रक्टरों और विधियों के बीच एक व्यापक तुलना प्रस्तुत करता है, जिससे अवधारणाओं को समझना आसान हो जाता है।
मुझे लेख बहुत ज्ञानवर्धक लगा। दिए गए उदाहरण बहुत उपयोगी हैं.
बिल्कुल, यह लेख जावा सीखने वाले किसी भी व्यक्ति के लिए एक बेहतरीन संदर्भ है।
यह आलेख जावा में कंस्ट्रक्टरों और विधियों का स्पष्ट और संक्षिप्त विवरण प्रदान करता है। यह बहुत अच्छी तरह से लिखा गया है और जानकारीपूर्ण है।
मैं इससे अधिक सहमत नहीं हो सका. लेखक ने अवधारणाओं को समझाने में बहुत अच्छा काम किया।
मुझे तुलना तालिका जावा में कंस्ट्रक्टरों और विधियों के बीच मुख्य अंतर को समझने में बहुत मददगार लगी।
हां, अवधारणा को समझने के लिए तालिका एक बेहतरीन दृश्य सहायता है।
निश्चित रूप से, यह जानकारी का एक उत्कृष्ट नमूना है।
लेखक जावा में कंस्ट्रक्टरों और विधियों की विस्तृत व्याख्या प्रदान करता है। यह डेवलपर्स के लिए एक बेहतरीन संसाधन है।
हाँ, व्याख्या की गहराई सराहनीय है। यह बहुत ही ज्ञानवर्धक लेख है.
निश्चित रूप से, यह जावा प्रोग्रामिंग में रुचि रखने वाले किसी भी व्यक्ति के लिए एक मूल्यवान लेख है।
मुझे लेख काफी ज्ञानवर्धक लगा. दिए गए उदाहरणों से कंस्ट्रक्टर और विधियों के बीच अंतर को समझना भी आसान हो जाता है।
बिल्कुल, लेख बहुत अच्छी तरह से समझाया गया है और अनुसरण करने में आसान है।
हाँ, उदाहरण वास्तव में अवधारणाओं को स्पष्ट करने में मदद करते हैं।
जावा कंस्ट्रक्टर्स और विधियों को समझने के लिए यह लेख एक उत्कृष्ट संसाधन है। उदाहरण बहुत उपयोगी हैं.