ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) "ऑब्जेक्ट्स" की अवधारणा पर आधारित एक प्रोग्रामिंग प्रतिमान है, जिसमें विशेषताओं के रूप में डेटा हो सकता है; और चीजों को करने के निर्देश, विधियों के रूप में।
उदाहरण के लिए, एक व्यक्ति एक वस्तु है जिसमें कुछ गुण होते हैं जैसे कि ऊंचाई, लिंग, आयु, आदि। इसके कुछ तरीके भी हैं जैसे कि चलना, बात करना आदि।
वस्तु
यह ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की मूल इकाई है। यानी डेटा पर काम करने वाले डेटा और फ़ंक्शन दोनों को एक इकाई के रूप में बंडल किया जाता है जिसे ऑब्जेक्ट कहा जाता है।
कक्षा
जब आप एक वर्ग को परिभाषित करते हैं, तो आप किसी वस्तु के लिए एक खाका परिभाषित करते हैं। यह वास्तव में किसी भी डेटा को परिभाषित नहीं करता है, लेकिन यह परिभाषित करता है कि वर्ग के नाम का क्या अर्थ है, अर्थात, कक्षा की किसी वस्तु में क्या होगा और ऐसी वस्तु पर कौन से संचालन किए जा सकते हैं।
OOP की चार बुनियादी अवधारणाएं हैं जिन पर यह पूरी तरह से आधारित है। आइए उन पर अलग-अलग नज़र डालें -
- अमूर्त - एब्स्ट्रैक्शन का अर्थ है बाहरी दुनिया को केवल आवश्यक जानकारी प्रदान करना और उनकी पृष्ठभूमि का विवरण छिपाना। उदाहरण के लिए, एक वेब सर्वर छुपाता है कि वह प्राप्त होने वाले डेटा को कैसे संसाधित करता है, अंतिम उपयोगकर्ता केवल अंतिम बिंदुओं को हिट करता है और डेटा वापस प्राप्त करता है।
- एनकैप्सुलेशन − एनकैप्सुलेशन डेटा सदस्यों (चर, गुण) और सदस्य कार्यों (विधियों) को एक इकाई में बांधने की एक प्रक्रिया है। यह कुछ संपत्तियों तक पहुंच को प्रतिबंधित करने का एक तरीका भी है।
- विरासत - मौजूदा वर्ग से एक नया वर्ग बनाने की क्षमता को वंशानुक्रम कहा जाता है। इनहेरिटेंस का उपयोग करके, हम पैरेंट क्लास से चाइल्ड क्लास बना सकते हैं जैसे कि यह पैरेंट क्लास के गुणों और विधियों को इनहेरिट करता है और इसके अपने अतिरिक्त गुण और तरीके हो सकते हैं। उदाहरण के लिए, यदि हमारे पास एक क्लास व्हीकल है जिसमें कलर, प्राइस आदि जैसे गुण हैं, तो हम इसमें से 2 क्लासेस जैसे बाइक और कार बना सकते हैं, जिसमें वे 2 प्रॉपर्टीज और अतिरिक्त प्रॉपर्टीज हैं जो उनके लिए विशिष्ट हैं जैसे कार में नंबरऑफविंडो है जबकि ए बाइक नहीं कर सकता। विधियों पर भी यही लागू होता है।
- बहुरूपता - बहुरूपता शब्द का अर्थ है अनेक रूपों का होना। आमतौर पर, बहुरूपता तब होती है जब वर्गों का एक पदानुक्रम होता है और वे वंशानुक्रम से संबंधित होते हैं। सी ++ बहुरूपता का अर्थ है कि किसी सदस्य फ़ंक्शन को कॉल करने से फ़ंक्शन को आमंत्रित करने वाले ऑब्जेक्ट के प्रकार के आधार पर एक अलग फ़ंक्शन निष्पादित किया जाएगा। उदाहरण के लिए, यदि हमारे पास शेप नामक एक वर्ग है और उसमें गेटएरिया नामक एक विधि है, तो आकार के आधार पर, हम क्षेत्र को एक अलग तरीके से संसाधित करेंगे (सर्कल बनाम वर्ग)।
आप ट्यूटोरियल पर C++ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग पर उत्कृष्ट ट्यूटोरियल पर जा सकते हैं
पॉइंट (https://www.tutorialspoint.com/cplusplus/cpp_object_उन्मुख.htm) OOP सीखना शुरू करने के लिए।