C ++ में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के बारे में आपको जो कुछ भी जानने की आवश्यकता है



यह लेख आपको एक iteresting प्रोग्रामिंग दृष्टिकोण का गहन परिचय देगा जो C ++ में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग है।

निश्चित रूप से जब तूफान आया तब तक प्रोग्रामिंग की दुनिया में ले गया और अभी भी काफी हद तक प्रोग्रामिंग का आधार है। इस लेख में हम C ++ में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का पता लगाएंगे। इस आलेख में निम्नलिखित बिंदुओं को शामिल किया जाएगा,

C ++ में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग पर इस लेख के साथ शुरुआत करना





ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग क्या है?

वस्तु उन्मुख दृष्टिकोण के आविष्कार के पीछे प्रमुख प्रेरणा प्रक्रियागत दृष्टिकोण में आई कुछ खामियों को दूर करना है। ओओपी डेटा को कार्यक्रम के विकास में एक महत्वपूर्ण तत्व के रूप में माना जाता है और सिस्टम के चारों ओर इसके प्रवाह को प्रतिबंधित करता है। यह डेटा को उस फ़ंक्शन के अधिक निकटता से जोड़ता है जो उस पर काम करता है और इसे बाहरी कार्यों से आकस्मिक संशोधन से बचाता है। यह समस्या को ऑब्जेक्ट्स नामक कई संस्थाओं में तोड़ने की अनुमति देता है और फिर इन ऑब्जेक्ट्स के आसपास डेटा और फ़ंक्शंस बनाता है। किसी वस्तु का डेटा केवल उस विशेष वस्तु से जुड़े कार्यों द्वारा ही पहुँचा जा सकता है। हालांकि, एक वस्तु के कार्य यदि आवश्यक हो तो अन्य वस्तुओं के कार्यों तक पहुंच सकते हैं।

C ++ में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग पर इस लेख के साथ आगे बढ़ना



ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की विशेषताएं:

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

C ++ में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग पर इस लेख के साथ आगे बढ़ना

वस्तुएं

ऑब्जेक्ट OOPs.They में सबसे बुनियादी रन और मिडटोटाइम एंटिटी हैं। वे वैक्टर, समय और सूचियों या प्रोग्राम को संभालने वाले किसी भी आइटम जैसे उपयोगकर्ता और मिडॉटडफ़ाइंड डेटा का प्रतिनिधित्व कर सकते हैं। प्रोग्रामिंग समस्या का विश्लेषण वस्तुओं और उनके बीच संचार की प्रकृति के आधार पर किया जाता है। वस्तुओं को ऐसे चुना जाना चाहिए कि वे वास्तविक दुनिया की वस्तुओं के साथ निकटता से मेल खाते हों। ऑब्जेक्ट मेमोरी में जगह लेते हैं और उनका कोई संबद्ध पता नहीं है। जबकि निष्पादन ऑब्जेक्ट एक दूसरे को संदेश भेजकर बातचीत करते हैं। उदाहरण के लिए, यदि 'छात्र' और * Student_roll_no 'एक प्रोग्राम में दो ऑब्जेक्ट हैं, तो छात्र ऑब्जेक्ट अपने संबंधित मार्क्स के लिए अनुरोध करने वाले Student_roll_no ऑब्जेक्ट को एक संदेश भेज सकता है। प्रत्येक ऑब्जेक्ट में डेटा में हेरफेर करने के लिए कोड होता है। वस्तुओं को एक दूसरे के डेटा या कोड के साथ बातचीत कर सकते हैं बिना इसकी जानकारी के

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग सी ++ पर इस लेख के साथ आगे बढ़ना



कक्षाएं

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

इलेक्ट्रॉनिक्स लैपटॉप

यह क्लास इलेक्ट्रॉनिक्स से संबंधित ऑब्जेक्ट लैपटॉप बनाएगा।

C ++ में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग पर इस लेख के साथ आगे बढ़ना

एनकैप्सुलेशन

एनकैप्सुलेशन को एक इकाई के तहत डेटा और सूचना के रैपिंग के रूप में परिभाषित किया जा सकता है। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में, एनकैप्सुलेशन को डेटा और उन कार्यों को एक साथ बांधने के रूप में परिभाषित किया गया है जो उन्हें हेरफेर करते हैं।

एनकैप्सुलेशन - Cpp - Edureka में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग

एन्कैप्सुलेशन के वास्तविक जीवन के उदाहरण पर विचार करें, एक स्कूल में, छात्र के खंड, शिक्षक अनुभाग, लेखा अनुभाग आदि जैसे विभिन्न खंड होते हैं। छात्र अनुभाग छात्र की सभी गतिविधियों को संभालता है और वित्त से संबंधित सभी आंकड़ों का रिकॉर्ड रखता है। इसी तरह, शिक्षक का खंड शिक्षक की सभी संबंधित गतिविधियों को संभालता है और छात्रों के सभी अंकों और प्रदर्शन का रिकॉर्ड रखता है। अब ऐसी स्थिति उत्पन्न हो सकती है जब किसी कारण से छात्र अनुभाग के छात्र को सभी छात्रों के अंकों और प्रदर्शन के बारे में सभी डेटा की आवश्यकता होती है। इस मामले में, उन्हें सीधे शिक्षक के अनुभाग के डेटा तक पहुंचने की अनुमति नहीं है। उसे पहले शिक्षक अनुभाग में कुछ शिक्षक से संपर्क करना होगा और फिर उसे सभी डेटा देने का अनुरोध करना होगा। यह जो एनकैप्सुलेशन है। यहां छात्र के अनुभाग और शिक्षक के अनुभाग का डेटा जो उन्हें हेरफेर कर सकते हैं, उन्हें 'शिक्षक अनुभाग' के एक ही नाम के तहत लपेटा जाता है।

इस लेख के साथ आगे बढ़ रहे हैं

कैसे जावा में गतिरोध को रोकने के लिए

अमूर्तन

अमूर्तता केवल आवेदन की महत्वपूर्ण और आवश्यक विशेषताओं को दिखाने और विवरण को छिपाने के लिए संदर्भित करता है। C ++ में, कक्षाएं बाहरी दुनिया को एक्सेस करने के लिए डेटा और फ़ंक्शंस प्रदान कर सकती हैं, चर को सीधी पहुंच से छिपाकर रखती हैं, या कक्षाएं यहां तक ​​कि हर किसी के लिए सब कुछ सुलभ घोषित कर सकती हैं, या हो सकता है कि इसे प्राप्त करने वाली कक्षाओं तक, हम उन्हें अपने अनुसार बदल सकें आवश्यकताओं।

यह एक्सेस स्पेसियर्स का उपयोग करके किया जा सकता है। C ++ में 3 पहुंच विनिर्देशक हैं:

  • निजी
  • संरक्षित
  • सह लोक

इस लेख के साथ आगे बढ़ रहे हैं

बहुरूपता

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

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

C ++ ऑपरेटर ओवरलोडिंग और फ़ंक्शन ओवरलोडिंग का समर्थन करता है।

  • ऑपरेटर ओवरलोडिंग: यह विभिन्न उदाहरणों में विभिन्न व्यवहारों को प्रदर्शित करने के लिए ऑपरेटर बनाने की प्रक्रिया है।
  • फ़ंक्शन ओवरलोडिंग: विभिन्न प्रकार के कार्यों को करने के लिए फ़ंक्शन ओवरलोडिंग एकल फ़ंक्शन नाम का उपयोग कर रहा है।

बहुरूपता का उपयोग विरासत को लागू करने में बड़े पैमाने पर किया जाता है।

C ++ में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग पर इस लेख के साथ आगे बढ़ना

वंशानुक्रम

वंशानुक्रम वह प्रक्रिया है जिसके द्वारा एक वर्ग की वस्तुएँ दूसरे वर्ग की वस्तुओं के गुण, कार्य और डेटा प्राप्त कर सकती हैं। यह श्रेणीबद्ध वर्गीकरण की अवधारणा का अनुसरण करता है। उदाहरण के लिए, पक्षी ar स्पैरो ’‘ फ्लाइंग बर्ड ’का एक हिस्सा है जो फिर से the पक्षी’ का एक हिस्सा है। इस तरह के विभाजन की मदद से प्रत्येक व्युत्पन्न वर्ग उस वर्ग के साथ सामान्य विशेषताओं और डेटा को साझा करता है जिससे यह विरासत में मिला है। वंशानुक्रम पुन: प्रयोज्यता का विचार प्रदान करता है। इसका मतलब यह है कि हम किसी मौजूदा वर्ग में बिना किसी बदलाव या बदलाव के अतिरिक्त सुविधाओं को जोड़ सकते हैं। मौजूदा वर्ग से एक नए वर्ग को प्राप्त करके यह संभव है। नया वर्ग माता-पिता और बच्चे वर्ग दोनों की संयुक्त सुविधाओं का अधिग्रहण करेगा।

विरासत का वास्तविक उपयोग यह है कि यह प्रोग्रामर को एक वर्ग का पुन: उपयोग करने की अनुमति देता है जो लगभग नहीं है, लेकिन वास्तव में, वह जो चाहता है, और वर्ग को बदलने के लिए और इस तरह से बदलाव करता है कि यह किसी भी अवांछनीय दुष्प्रभाव का परिचय नहीं देता है बाकी कक्षाओं में। ध्यान दें कि प्रत्येक उप-वर्ग केवल उन विशेषताओं को परिभाषित करता है जो इसके लिए विशिष्ट हैं और बाकी सभी, यह अपने मूल वर्ग से प्राप्त होती है। किसी भी वर्गीकरण के उपयोग के बिना, प्रत्येक वर्ग को अपनी सभी विशेषताओं को स्पष्ट रूप से शामिल करना होगा जिसमें बहुत अधिक समय और प्रयास होगा।

इस प्रकार हम on ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग इन सी ++ ’पर इस लेख के अंत में आए हैं। आप और अधिक जानने के लिए चाहते हैं, तो बाहर की जाँच करें Edureka, एक विश्वसनीय ऑनलाइन शिक्षण कंपनी है। एडुर्का के जावा जे 2 ईई और एसओए प्रशिक्षण और प्रमाणन पाठ्यक्रम आपको हाइबरनेट और स्प्रिंग जैसे विभिन्न जावा फ्रेमवर्क के साथ कोर और उन्नत जावा अवधारणाओं दोनों के लिए प्रशिक्षित करने के लिए डिज़ाइन किया गया है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस ब्लॉग के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपके पास वापस आ जाएंगे।