OOPs में क्लास और ऑब्जेक्ट के बीच अंतर
क्लास और ऑब्जेक्ट के बीच मुख्य अंतर
- क्लास किसी प्रोग्राम में ऑब्जेक्ट बनाने के लिए एक टेम्पलेट है, जबकि ऑब्जेक्ट क्लास का एक उदाहरण है।
- क्लास एक तार्किक इकाई है, जबकि ऑब्जेक्ट एक भौतिक इकाई है।
- एक क्लास मेमोरी स्पेस आवंटित नहीं करता है; दूसरी ओर, एक ऑब्जेक्ट मेमोरी स्पेस आवंटित करता है।
- आप किसी क्लास को केवल एक बार ही घोषित कर सकते हैं, लेकिन आप किसी क्लास का उपयोग करके एक से अधिक ऑब्जेक्ट बना सकते हैं।
- क्लासों में हेरफेर नहीं किया जा सकता, जबकि ऑब्जेक्ट्स में हेरफेर किया जा सकता है।
- क्लासों का कोई मान नहीं होता, जबकि ऑब्जेक्टों का अपना मान होता है।
- आप “class” कीवर्ड का उपयोग करके एक क्लास बना सकते हैं, जबकि दूसरी ओर आप “new” कीवर्ड का उपयोग करके एक ऑब्जेक्ट बना सकते हैं Java.
क्लास क्या है?
क्लास एक इकाई है जो यह निर्धारित करती है कि कोई ऑब्जेक्ट कैसे व्यवहार करेगा और ऑब्जेक्ट में क्या होगा। दूसरे शब्दों में, यह एक विशिष्ट प्रकार की ऑब्जेक्ट बनाने के लिए एक ब्लूप्रिंट या निर्देशों का एक सेट है। यह सदस्य चर और सदस्य फ़ंक्शन या विधियों के लिए प्रारंभिक मान प्रदान करता है।
वस्तु क्या है?
ऑब्जेक्ट कुछ और नहीं बल्कि एक स्व-निहित घटक है जिसमें डेटा को उपयोगी बनाने के लिए विधियाँ और गुण शामिल होते हैं। यह आपको क्लास के व्यवहार को निर्धारित करने में मदद करता है।
उदाहरण के लिए, जब आप किसी ऑब्जेक्ट को संदेश भेजते हैं, तो आप ऑब्जेक्ट को उसकी किसी विधि को लागू करने या निष्पादित करने के लिए कह रहे होते हैं।
प्रोग्रामिंग के दृष्टिकोण से, एक ऑब्जेक्ट एक डेटा संरचना, एक चर या एक फ़ंक्शन हो सकता है जिसमें मेमोरी स्थान आवंटित किया गया हो। ऑब्जेक्ट को क्लास पदानुक्रम के रूप में डिज़ाइन किया गया है।
क्लास बनाम ऑब्जेक्ट – उनके बीच अंतर
क्लास और ऑब्जेक्ट के बीच महत्वपूर्ण अंतर इस प्रकार है:
वर्ग | वस्तु |
---|---|
क्लास, प्रोग्राम में ऑब्जेक्ट बनाने के लिए एक टेम्पलेट है। | ऑब्जेक्ट एक क्लास का उदाहरण है. |
क्लास एक तार्किक इकाई है | वस्तु एक भौतिक इकाई है |
किसी क्लास को बनाते समय मेमोरी स्पेस आवंटित नहीं किया जाता। | जब भी ऑब्जेक्ट बनाए जाते हैं तो वे मेमोरी स्पेस आवंटित करते हैं। |
आप क्लास को केवल एक बार ही घोषित कर सकते हैं। | आप एक क्लास का उपयोग करके एक से अधिक ऑब्जेक्ट बना सकते हैं। |
उदाहरण: कार. | उदाहरण: जगुआर, बीएमडब्ल्यू, टेस्ला, आदि। |
क्लास ऑब्जेक्ट उत्पन्न करता है | ऑब्जेक्ट्स क्लास को जीवन प्रदान करते हैं। |
कक्षाओं में हेरफेर नहीं किया जा सकता क्योंकि वे मेमोरी में उपलब्ध नहीं हैं। | उनमें हेरफेर किया जा सकता है। |
इसमें फ़ील्ड से संबद्ध कोई मान नहीं है। | प्रत्येक ऑब्जेक्ट के अपने मान होते हैं, जो फ़ील्ड से जुड़े होते हैं। |
आप “class” कीवर्ड का उपयोग करके क्लास बना सकते हैं। | आप “new” कीवर्ड का उपयोग करके ऑब्जेक्ट बना सकते हैं Java |
की अवधारणा को समझें Java क्लासेस और ऑब्जेक्ट्स का उदाहरण सहित वर्णन।
आइए एक पालतू प्रबंधन प्रणाली विकसित करने का उदाहरण लेते हैं, जो विशेष रूप से कुत्तों के लिए बनाई गई है। आपको कुत्तों के बारे में विभिन्न जानकारी की आवश्यकता होगी जैसे कुत्तों की विभिन्न नस्लें, उम्र, आकार आदि।
आपको वास्तविक जीवन के प्राणियों, अर्थात् कुत्तों को सॉफ्टवेयर इकाइयों में ढालने की आवश्यकता है।
इसके अलावा, लाख टके का सवाल यह है कि आप इस तरह के सॉफ्टवेयर को कैसे डिजाइन करते हैं? इसका समाधान यह है-
सबसे पहले, आइये एक अभ्यास करें।
आप नीचे तीन अलग-अलग नस्लों के कुत्तों की तस्वीर देख सकते हैं।
अभी यहीं रुकें! उनके बीच के अंतरों की सूची बनाएं।
आपने जो अंतर सूचीबद्ध किए हैं, उनमें से कुछ नस्ल, आयु, आकार, रंग आदि हो सकते हैं। यदि आप एक मिनट के लिए सोचें, तो ये अंतर इन कुत्तों द्वारा साझा की जाने वाली कुछ सामान्य विशेषताएँ भी हैं। ये विशेषताएँ (नस्ल, आयु, आकार, रंग) आपके ऑब्जेक्ट के लिए डेटा सदस्य बना सकती हैं।
इसके बाद, इन कुत्तों के सामान्य व्यवहारों की सूची बनाएं जैसे सोना, बैठना, खाना, आदि। ये हमारे सॉफ्टवेयर ऑब्जेक्ट्स की क्रियाएं होंगी।
अब तक हमने निम्नलिखित बातें परिभाषित की हैं,
- वर्ग: कुत्ते
- डेटा सदस्य or वस्तुओं: आकार, आयु, रंग, नस्ल, आदि।
- तरीकेखाना, सोना, बैठना और दौड़ना।
अब, डेटा सदस्यों (नस्ल आकार, आयु और रंग) के विभिन्न मूल्यों के लिए Java क्लास में, आपको अलग-अलग कुत्ते ऑब्जेक्ट मिलेंगे।
आप इस OOPs दृष्टिकोण का उपयोग करके कोई भी प्रोग्राम डिज़ाइन कर सकते हैं।
क्लासेस और ऑब्जेक्ट्स Java
नीचे दिए गए प्रोग्राम में, हमने Dog नामक एक क्लास घोषित की है। हमने new कीवर्ड का उपयोग करके “maltese” नामक क्लास का एक ऑब्जेक्ट परिभाषित किया है। अंतिम कथन System.out.println(maltese.getInfo()); में हम कुत्ते की जानकारी जैसे नस्ल, आकार, आयु, रंग, आदि प्रदर्शित कर रहे हैं।
// Class Declaration class Dog { // Instance Variables String breed; String size; int age; String color; // method 1 public String getInfo() { return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color); } } public class Execute{ public static void main(String[] args) { Dog maltese = new Dog(); maltese.breed="Maltese"; maltese.size="Small"; maltese.age=2; maltese.color="white"; System.out.println(maltese.getInfo()); } }
आउटपुट:
नस्ल है: माल्टीज़ आकार है: छोटा उम्र है: 2 रंग है: सफेद
कक्षा के प्रकार
कक्षा के महत्वपूर्ण प्रकार निम्नलिखित हैं:
व्युत्पन्न वर्ग और वंशानुक्रम
व्युत्पन्न वर्ग वह वर्ग होता है जो किसी अन्य रीमाइनिंग वर्ग से बनाया या व्युत्पन्न किया जाता है। इसका उपयोग आधार वर्ग की कार्यक्षमता बढ़ाने के लिए किया जाता है। इस प्रकार का वर्ग मौजूदा वर्ग से गुण प्राप्त करता है और उन्हें विरासत में लेता है। यह अपने स्वयं के गुणों को जोड़ या साझा/विस्तारित भी कर सकता है।
सुपरक्लासेस:
सुपरक्लास एक ऐसा वर्ग है जिससे आप कई उपवर्ग प्राप्त कर सकते हैं।
उपवर्ग:
उपवर्ग वह वर्ग है जो सुपरक्लास से व्युत्पन्न होता है।
मिश्रित कक्षाएं
मिश्रित क्लास एक और कार्यक्षमता है जो आपको एक क्लास के गुणों को दूसरे क्लास में विरासत में प्राप्त करने में मदद करती है। यह क्लास की कार्यक्षमता के सबसेट का उपयोग करता है, जबकि व्युत्पन्न क्लास सुपरक्लास कार्यक्षमता के पूरे सेट का उपयोग करता है।
कक्षा के उपयोग
क्लास के महत्वपूर्ण उपयोग इस प्रकार हैं:
- क्लास का उपयोग डेटा चर और सदस्य फ़ंक्शन दोनों को रखने के लिए किया जाता है।
- यह आपको उपयोगकर्ता परिभाषित ऑब्जेक्ट बनाने में सक्षम बनाता है।
- क्लास डेटा के बारे में जानकारी व्यवस्थित करने का एक तरीका प्रदान करता है।
- आप क्लास का उपयोग अन्य क्लास की संपत्ति प्राप्त करने के लिए कर सकते हैं।
- क्लासों का उपयोग कन्स्ट्रक्टर या डिस्ट्रक्टर का लाभ उठाने के लिए किया जा सकता है।
- इसका उपयोग बड़ी मात्रा में डेटा और जटिल अनुप्रयोगों के लिए किया जा सकता है।
वस्तु का उपयोग
यहाँ किसी वस्तु के महत्वपूर्ण उपयोग दिए गए हैं
- इससे आपको यह जानने में मदद मिलती है कि किस प्रकार का संदेश स्वीकार किया गया है और किस प्रकार की प्रतिक्रियाएँ प्राप्त हुई हैं।
- आप ऑब्जेक्ट संदर्भ चर का उपयोग करके मेमोरी के एक टुकड़े तक पहुंचने के लिए ऑब्जेक्ट का उपयोग कर सकते हैं।
- इसका उपयोग डेटा में हेरफेर करने के लिए किया जाता है।
- ऑब्जेक्ट्स एक वास्तविक दुनिया की समस्या का प्रतिनिधित्व करते हैं जिसके लिए आप समाधान ढूंढ रहे हैं।
- यह डेटा सदस्यों और सदस्य कार्यों को वांछित कार्य करने में सक्षम बनाता है।