ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) की मूल बातें
परिचय
- वस्तु-आधारित प्रोग्रामिंग सिस्टम
- क्लासेज और ऑब्जेक्ट्स का महत्व
- मैन फंक्शन की समझ
- प्रमुख अवधारणाएँ: रिटर्न, ट्रांसलेशन, पॉलीमॉर्फिज्म, एक्सट्रैक्शन
OOP के फायदे
- मॉडर्न प्रोग्रामिंग लैंग्वेज: वर्तमान की अधिकांश प्रोग्रामिंग लैंग्वेज ओओपी पर आधारित
- प्लेसमेंट इंटरव्यू के लिए तैयारी: इंटरव्यू में OOP सिद्धांतों के बारे में सवाल पूछे जाते हैं
क्लास और ऑब्जेक्ट
- क्लास: एक ब्लूप्रिंट है जो ऑब्जेक्ट्स को बनाने के लिए उपयोग किया जाता है
- उदाहरण: मारुति 800 का ब्लूप्रिंट
- ऑब्जेक्ट: वास्तविकता में कोई भी चीज/व्यक्ति
- प्रोग्रामिंग की दृष्टि से, ऑब्जेक्ट्स कई प्रकार के हो सकते हैं
उदाहरण
- एक पेन क्लास बना सकते हैं
- प्रॉपर्टीज: रंग, ब्रांड, टाइप
- मेथड्स: लिखने के लिए
प्रोग्रामिंग में क्लास और ऑब्जेक्ट का उपयोग
- क्लास और ऑब्जेक्ट को परिभाषित करना
- ऑब्जेक्ट बनाने के लिए सिंगल फ़ाइल क्लास का उपयोग
- उदाहरण: पेन को परिभाषित करना
ऑब्जेक्ट्स कैसे बनाते हैं
- हमें ऑब्जेक्ट बनाने के लिए पहले क्लास को डिफाइन करना होगा
- मान लें:
Pen pen1 = new Pen();
मुख्य विशेषताएँ
- प्रॉपर्टीज (Attributes) और मेथड्स (Methods)
- प्रॉपर्टीज ऑब्जेक्ट की विशेषताएं हैं जबकि मेथड्स कार्य हैं
पॉलीमॉर्फिज्म
- एक ही काम को विभिन्न तरीकों से करने की क्षमता
- इसमें फंक्शन ओवरलोडिंग और फंक्शन ओवरराइडिंग शामिल हैं
इनहेरिटेंस
- एक क्लास की प्रॉपर्टीज दूसरी क्लास में विरासत में मिल सकती हैं
- शेडिंग: एक बेस क्लास होती है और कई सब क्लासेज
विभिन्न प्रकार के इनहेरिटेंस
- सिंगल लेवल इनहेरिटेंस
- मल्टीपल लेवल इनहेरिटेंस
- मल्टीपल इनहेरिटेंस (इंटरफेसेस के माध्यम से)
एक्सट्रैक्शन एंड सिलेक्शन
- इम्पोर्टेन्ट चीजों का प्राथमिकता देना
- वर्क फ़ंक्शन को डिफाइन करना और केवल आवश्यक चीज़ों को दखाना
एब्स्ट्रेक्शन
- इंटरफेस का उपयोग: ओवरलोडिंग और ओवरराइडिंग के लिए
- प्रोटेक्टेड, प्राइवेट, पब्लिक एक्सेस मोडिफाइडर्स
एक्सेस मोडिफाइडर्स
- पब्लिक: कुछ भी कहीं से एक्सेस कर सकता है
- प्रोटेक्टेड: सब क्लास में और एक पैकेज में एक्सेस कर सकता है
- प्राइवेट: केवल उसी क्लास में उपयोग होता है
निष्कर्ष
- OOP सिद्धान्त महत्वपूर्ण हैं न केवल प्रोग्रामिंग में बल्कि वास्तविक जीवन में भी
- ये सिद्धान्त हमें सिस्टेमेटिक तरीके से सोचना और कोडिंग करना सिखाते हैं
Note: यदि कोई भी चर्चा अधिक हो, तो नीचे कमेंट करें।