कंस्ट्रक्टर बनाम विधि: अंतर और तुलना

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

जावा प्रोग्रामिंग लैंग्वेज के डेवलपर जेम्स गोसलिंग हैं।

चाबी छीन लेना

  1. कंस्ट्रक्टर एक विशेष विधि है जिसे ऑब्जेक्ट बनाते समय कहा जाता है, जबकि विधि एक फ़ंक्शन है जिसे किसी विशिष्ट कार्य को करने के लिए ऑब्जेक्ट पर बुलाया जाता है।
  2. कंस्ट्रक्टर्स का उपयोग ऑब्जेक्ट की स्थिति को आरंभ करने के लिए किया जाता है, जबकि विधियां ऑब्जेक्ट की स्थिति या व्यवहार पर कार्रवाई करती हैं।
  3. कंस्ट्रक्टर्स के पास रिटर्न प्रकार नहीं होता है, जबकि विधियों में उनके उद्देश्य के आधार पर रिटर्न प्रकार हो भी सकता है और नहीं भी।

कंस्ट्रक्टर बनाम विधि

OOPS (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग) में, एक कंस्ट्रक्टर वांछित विशेषताओं के साथ किसी ऑब्जेक्ट का एक उदाहरण बनाता है। जब कोई वस्तु बनाई जाती है तो इसे अंतर्निहित रूप से लागू किया जाता है। एक विधि कोड का एक ब्लॉक है जो एक विशिष्ट कार्य करता है और ऑब्जेक्ट संदर्भ का उपयोग करके कॉल किया जा सकता है। प्रोग्राम निष्पादन के दौरान विधियों को किसी भी समय लागू किया जा सकता है। कंस्ट्रक्टर्स को केवल ऑब्जेक्ट निर्माण के दौरान ही बुलाया जाता है।

कंस्ट्रक्टर बनाम विधि

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में, कंस्ट्रक्टर एक विशेष प्रकार का प्रोग्राम निर्देश अनुक्रम होता है जो एक नया ऑब्जेक्ट बनाने में मदद करता है। ऐसा कहा जाता है कि ये दोनों हैं स्पष्ट और अंतर्निहित, यानी, यह पैरामीटरयुक्त कंस्ट्रक्टर के साथ आता है और कोई Arg कंस्ट्रक्टर नहीं है।

उनमें एक ऐड-ऑन सुविधा भी है जिसे ओवरराइड किया जा सकता है।

यह विधि ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भी है (OOP), जो संदेश और ऑब्जेक्ट से जुड़े कार्यक्रमों के एक विशिष्ट अनुक्रम की अनुमति देता है। विधि को केवल स्पष्ट कहा जाता है, जिसका अर्थ है कि यह एक पैरामीटरयुक्त कंस्ट्रक्टर के साथ आता है।

इसमें ऐसे कथन भी शामिल हैं जो हमेशा आउटपुट नहीं लौटाते।

तुलना तालिका

तुलना के पैरामीटरनिर्माताविधि
मंगलाचरणइसे सिस्टम द्वारा अप्रत्यक्ष रूप से लागू किया जाता है।इसे प्रोग्राम कोड के दौरान लागू किया जाता है।
का उपयोग करता हैइसका उपयोग किसी ऑब्जेक्ट को इनिशियलाइज़ करने के लिए किया जाता है।इसका उपयोग किसी वस्तु की कार्यक्षमता को प्रदर्शित करने के लिए किया जाता है।
विरासतकोई उपवर्ग इसे प्राप्त नहीं कर सकता.एक उपवर्ग को यह विरासत में मिलता है।
वापसी प्रकारइसका कोई रिटर्न प्रकार नहीं है.इसका एक रिटर्न प्रकार है.
नामऐसा कहा जाता है कि कंस्ट्रक्टर का नाम क्लास के नाम के समान होना चाहिए।ऐसा कहा जाता है कि विधि का नाम कक्षा के समान नहीं हो सकता है।

कंस्ट्रक्टर क्या है?

जावा कंस्ट्रक्टर को प्रोग्राम अनुक्रमों की एक विशिष्ट श्रृंखला के साथ ऑब्जेक्ट-ओरिएंटेड प्रोग्राम (ओओपी) के रूप में परिभाषित किया जा सकता है जो एक नई ऑब्जेक्ट बनाने में मदद करेगा। इसमें स्पष्ट (पैरामीटरयुक्त कंस्ट्रक्टर) और अंतर्निहित (कोई आर्ग कंस्ट्रक्टर नहीं) दोनों शामिल हैं।

यह भी पढ़ें:  साइबर सुरक्षा बनाम कंप्यूटर विज्ञान: अंतर और तुलना

इसे ओवरलोड किया जा सकता है लेकिन ओवरराइड नहीं किया जा सकता। साथ ही, यह स्थिर, अमूर्त या वास्तविक नहीं हो सकता। कंस्ट्रक्टर किसी ऑब्जेक्ट को इनिशियलाइज़ करता है और उसका कोई रिटर्न प्रकार नहीं होता है। ऐसा कहा जाता है कि कंस्ट्रक्टर का नाम क्लास के समान होना चाहिए। 

उदाहरण के लिए -

इकाई परीक्षण {

     परीक्षा () {

          // कंस्ट्रक्टर बॉडी

       }

    }      

उपरोक्त उदाहरण में, परीक्षा () कंस्ट्रक्टर कहा जाता है. इस प्रकार, यह साबित होता है कि कंस्ट्रक्टर का नाम समान है और उसका कोई रिटर्न प्रकार नहीं है।

जावा प्रोग्रामिंग भाषा में कंस्ट्रक्टर तीन प्रकार के होते हैं -

  1. नो-आर्ग कंस्ट्रक्टर - ऐसा कहा जाता है कि जावा कंस्ट्रक्टर के पास कोई पैरामीटर हो भी सकता है और नहीं भी।
  2. पैरामीटरयुक्त कंस्ट्रक्टर - जो कंस्ट्रक्टर एक या अधिक पैरामीटर स्वीकार कर सकते हैं उन्हें जावा पैरामीटराइज्ड कंस्ट्रक्टर (पैरामीटर वाले कंस्ट्रक्टर) कहा जाता है।
  3. डिफ़ॉल्ट कंस्ट्रक्टर - जब कोई भी कंस्ट्रक्टर नहीं बनाता है, तो जावा कंपाइलर प्रोग्राम चलाते समय स्वचालित रूप से एक कंस्ट्रक्टर बनाता है। इस प्रकार, इसे डिफॉल्ट कंस्ट्रक्टर कहा जाता है। 
निर्माता

विधि क्या है?

विधि ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) भाषा है जो अपने उपयोगकर्ता को संदेश और ऑब्जेक्ट से जुड़े कार्यक्रमों की एक विशिष्ट श्रृंखला चलाने की अनुमति देती है। विधि केवल विशिष्ट कार्यों और कार्यों को करने के लिए डिज़ाइन की गई है।

कंस्ट्रक्टर के विपरीत, इसमें क्लास के समान कंस्ट्रक्टर का नाम नहीं हो सकता है। इसका एक रिटर्न प्रकार (शून्य सहित) भी है। ऐसा कहा जाता है कि विधि हमेशा स्पष्ट (पैरामीटरयुक्त कंस्ट्रक्टर) होनी चाहिए।

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

यह भी पढ़ें:  Google टैग मैनेजर बनाम फेसबुक पिक्सेल: अंतर और तुलना

विधि किसी भी वस्तु (गैर स्थैतिक विधि), वर्ग संदर्भ (स्थैतिक विधि), या नाम का उपयोग कर सकती है। वे विभिन्न पैरामीटर मान भी स्वीकार करते हैं। उदाहरण के लिए -

बर्नर जैसी विधियाँ हैं on or बंद, हालांकि राज्य बर्नर का, जो चालू या बंद है, एक निश्चित समय पर कुछ हद तक होना चाहिए। यह की संपत्ति मानी जाती है बर्नर. 

तरीका

कंस्ट्रक्टर और मेथड के बीच मुख्य अंतर

  1. कहा जाता है कि कंस्ट्रक्टर का उपयोग सिस्टम द्वारा अंतर्निहित रूप से किया जाता है, जबकि मेथड का उपयोग प्रोग्राम कोड के दौरान इनवॉइस करने के लिए किया जाता है।
  2. इसके अलावा, यदि कंस्ट्रक्टर की अनुपस्थिति है, तो जावा कंपाइलर द्वारा प्रदान किए गए डिफ़ॉल्ट कंस्ट्रक्टर को उपयोग में लिया जा सकता है, जबकि इसकी अनुपस्थिति में किसी भी डिफ़ॉल्ट विधि का उपयोग नहीं किया जा सकता है।
  3. कोई भी उपवर्ग कंस्ट्रक्टर को इनहेरिट नहीं करता है, जबकि एक उपवर्ग मेथड को इनहेरिट कर सकता है।
  4. कंस्ट्रक्टर्स के पास कोई रिटर्न प्रकार नहीं होता है, जबकि मेथड में रिटर्न प्रकार होता है।
  5. जबकि ऐसा माना जाता है कि कंट्रास्ट मेथड में कंस्ट्रक्टर का नाम क्लास के समान होना चाहिए।
  6. कंस्ट्रक्टर्स को गैर-विरासत में मिला हुआ कहा जाता है, जबकि इसके विपरीत, गैर-स्थैतिक तरीकों को विरासत में मिला हुआ कहा जाता है।
  7. कंस्ट्रक्टर को कभी भी ओवरराइड नहीं किया जा सकता, जबकि मेथड को ओवरराइड किया जा सकता है।
  8. यदि आपने कोई डिफॉल्ट मेथड नहीं दिया है तो जावा कंपाइलर एक डिफॉल्ट कंस्ट्रक्टर प्रदान करता है।

संदर्भ

  1. https://link.springer.com/article/10.1007/s100440200009
  2. https://ieeexplore.ieee.org/abstract/document/502681

अंतिम अद्यतन: 11 जून, 2023

बिंदु 1
एक अनुरोध?

मैंने आपको मूल्य प्रदान करने के लिए इस ब्लॉग पोस्ट को लिखने में बहुत मेहनत की है। यदि आप इसे सोशल मीडिया पर या अपने मित्रों/परिवार के साथ साझा करने पर विचार करते हैं, तो यह मेरे लिए बहुत उपयोगी होगा। साझा करना है ♥️

"कंस्ट्रक्टर बनाम विधि: अंतर और तुलना" पर 24 विचार

  1. कंस्ट्रक्टर और विधियों के बीच तुलना बहुत अच्छी तरह से व्यक्त की गई है और समझने में आसान है। महान काम!

    जवाब दें
  2. यह लेख जावा में कंस्ट्रक्टर और तरीकों के बीच अंतर को उजागर करने का एक उत्कृष्ट काम करता है। यह जानकारीपूर्ण और अच्छी तरह से लिखा गया है।

    जवाब दें
  3. यह लेख बहुत अच्छे ढंग से लिखा गया है और जानकारीपूर्ण है. कंस्ट्रक्टर और विधियों के बीच अंतर स्पष्ट रूप से समझाया गया है।

    जवाब दें
  4. जावा एक बहुत ही बहुमुखी और कुशल प्रोग्रामिंग भाषा प्रतीत होती है। कंस्ट्रक्टर और विधियों के बीच अंतर बहुत स्पष्ट है।

    जवाब दें
  5. लेख जावा में कंस्ट्रक्टरों और विधियों के बीच एक व्यापक तुलना प्रस्तुत करता है, जिससे अवधारणाओं को समझना आसान हो जाता है।

    जवाब दें
  6. यह आलेख जावा में कंस्ट्रक्टरों और विधियों का स्पष्ट और संक्षिप्त विवरण प्रदान करता है। यह बहुत अच्छी तरह से लिखा गया है और जानकारीपूर्ण है।

    जवाब दें
  7. मुझे तुलना तालिका जावा में कंस्ट्रक्टरों और विधियों के बीच मुख्य अंतर को समझने में बहुत मददगार लगी।

    जवाब दें
  8. लेखक जावा में कंस्ट्रक्टरों और विधियों की विस्तृत व्याख्या प्रदान करता है। यह डेवलपर्स के लिए एक बेहतरीन संसाधन है।

    जवाब दें
  9. मुझे लेख काफी ज्ञानवर्धक लगा. दिए गए उदाहरणों से कंस्ट्रक्टर और विधियों के बीच अंतर को समझना भी आसान हो जाता है।

    जवाब दें

एक टिप्पणी छोड़ दो

क्या आप इस लेख को बाद के लिए सहेजना चाहते हैं? अपने लेख बॉक्स में सहेजने के लिए नीचे दाएं कोने में दिल पर क्लिक करें!