वस्तु बनाम उदाहरण
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) सबसे लोकप्रिय प्रोग्रामिंग प्रतिमानों में से एक है। ओओपी में, वास्तविक दुनिया के तत्वों के संदर्भ में हल की जाने वाली समस्या के बारे में सोचने और वस्तुओं और उनके व्यवहार के संदर्भ में समस्या का प्रतिनिधित्व करने पर ध्यान केंद्रित किया जाता है। कई प्रोग्रामिंग भाषाएं जो ओओपी के प्रमुख पहलुओं का समर्थन करती हैं (जिन्हें ओओपी भाषाएं कहा जाता है) में कक्षा मुख्य प्रोग्रामिंग टूल के रूप में होती है। उन्हें वर्ग-आधारित कहा जाता है। कक्षाएं वास्तविक दुनिया की वस्तुओं का एक सार प्रतिनिधित्व हैं। वर्गों में विशेषताएँ नामक गुण होते हैं। विशेषताएँ वैश्विक और आवृत्ति चर के रूप में कार्यान्वित की जाती हैं। कक्षाओं में विधियाँ इन वर्गों के व्यवहार का प्रतिनिधित्व या परिभाषित करती हैं।वर्गों की विधियों और विशेषताओं को वर्ग के सदस्य कहा जाता है। बहुत ही सरल शब्दों में, एक वर्ग एक विशिष्ट वास्तविक जीवन वस्तु के लिए एक खाका या टेम्पलेट है। तो, एक वस्तु इस ब्लूप्रिंट के अनुसार आवश्यक जानकारी संग्रहीत करने के लिए उपयोग किया जाने वाला मेमोरी ब्लॉक है। इंस्टेंस एक मेमोरी ब्लॉक है जो किसी ऑब्जेक्ट को संदर्भित करता है।
वस्तु क्या है?
ऑब्जेक्ट्स एक क्लास को इंस्टेंट करने के परिणाम हैं। इंस्टेंटेशन ब्लूप्रिंट लेने और प्रत्येक विशेषता और व्यवहार को परिभाषित करने की प्रक्रिया है ताकि परिणामी वस्तु वास्तव में वास्तविक जीवन वस्तु का प्रतिनिधित्व करे। ऑब्जेक्ट मेमोरी का एक समर्पित और निरंतर ब्लॉक है जिसे चर, विधियों या कार्यों आदि जैसी सूचनाओं को संग्रहीत करने के लिए आवंटित किया जाता है। ऑब्जेक्ट जावा प्रोग्रामिंग भाषा में नए ऑपरेटर के उपयोग के साथ बनाया जाता है। उदाहरण के लिए, यदि कार नामक कोई वर्ग है, तो कार वर्ग का ऑब्जेक्ट बनाने के लिए निम्नलिखित का उपयोग किया जा सकता है।
नई कार ();
यहां, नए ऑपरेटर द्वारा एक कार ऑब्जेक्ट बनाया जाता है और ऑब्जेक्ट का संदर्भ वापस किया जाता है।नई वस्तु बनाने के लिए कार वर्ग के निर्माता के साथ नए ऑपरेटर का उपयोग किया जाता है। ऑब्जेक्ट का जीवन काल कॉल से उसके कंस्ट्रक्टर तक शुरू होता है जब तक कि वह नष्ट नहीं हो जाता। एक बार जब कोई वस्तु रेफर नहीं की जाती है, तो उसे कचरा संग्रहकर्ता द्वारा हटा दिया जाएगा/नष्ट कर दिया जाएगा।
एक उदाहरण क्या है?
इंस्टेंस एक मेमोरी ब्लॉक है, जिसमें किसी ऑब्जेक्ट का संदर्भ होता है। दूसरे शब्दों में, इंस्टेंस प्रारंभिक मेमोरी ब्लॉक का पता रखेगा जहां ऑब्जेक्ट संग्रहीत है। दरअसल, इंस्टेंस के नाम का इस्तेमाल ऑब्जेक्ट मेमोरी एरिया की शुरुआत तक पहुंचने के लिए किया जा सकता है। प्रारंभिक मेमोरी से ऑफसेट की गणना रनटाइम इंजन द्वारा की जाती है ताकि हम उस स्थान पर जा सकें जहां व्यक्तिगत डेटा या विधि संदर्भ संग्रहीत हैं। निम्नलिखित जावा कोड स्निप का उपयोग कार ऑब्जेक्ट का उदाहरण बनाने के लिए किया जा सकता है।
कार मायकार=नई कार ();
जैसा कि ऊपर बताया गया है, नया ऑपरेटर कार ऑब्जेक्ट बनाता है और उसका संदर्भ देता है। यह संदर्भ कार प्रकार चर myCar में संग्रहीत है। तो, myCar बनाई गई कार ऑब्जेक्ट का उदाहरण है।
ऑब्जेक्ट और इंस्टेंस में क्या अंतर है?
ऑब्जेक्ट मेमोरी का एक सन्निहित ब्लॉक है जो वास्तविक जानकारी को स्टोर करता है जो इस ऑब्जेक्ट को अन्य ऑब्जेक्ट्स से अलग करता है, जबकि एक इंस्टेंस किसी ऑब्जेक्ट का संदर्भ होता है। यह स्मृति का एक खंड है, जो उस स्थान के घूरने वाले पते की ओर इशारा करता है जहां वस्तु संग्रहीत है। दो उदाहरण एक ही वस्तु को संदर्भित कर सकते हैं। एक वस्तु और एक उदाहरण के जीवन काल संबंधित नहीं हैं। इसलिए एक उदाहरण शून्य हो सकता है। एक बार किसी वस्तु की ओर इशारा करने वाले सभी उदाहरण हटा दिए जाने पर, वस्तु नष्ट हो जाएगी।