Object Oriented Programming in C++

Object-oriented programming – जैसा कि नाम से पता चलता है Programming में objects का उपयोग करता है। Object-Oriented Programming का उद्देश्य Programming में real-world की संस्थाओं जैसे inheritance, hiding, polymorphism आदि को implement करना है। OOP का मुख्य उद्देश्य data और उन पर काम करने वाले functions को एक साथ बांधना है ताकि code का कोई अन्य भाग उस functions को छोड़कर इस डेटा तक नहीं पहुंच सके.

चलिए अब मैं आपको इस टॉपिक के बारे में पूरी जानकारी वह भी हिंदी में देता हूं. अगर आप Object Oriented Programming in C++ को पूरा पढ़ते हैं तो आपको के बारे में पूरी जानकारी मिल जाएगी. क्योंकि मैंने इस विषय में आपको पूरी जानकारी इस आर्टिकल में दी हुई है.

C++ What is Classes?

Class: C++ का बिल्डिंग ब्लॉक जो Object-Oriented programming की ओर ले जाता है, एक Class है. यह एक user-defined data type है, जो अपने स्वयं के data members और member functions को रखता है, जिसे उस class का एक उदाहरण बनाकर पहुँचा और उपयोग किया जा सकता है। एक Class किसी objects के लिए एक blueprint की तरह होता है.

Object Oriented Programming in C++

उदाहरण के लिए: Cars के class पर विचार करें। अलग-अलग नाम और brand वाली कई Cars हो सकती हैं, लेकिन उनमें से सभी में कुछ common properties होंगे जैसे कि उन सभी में 4 wheels, Speed Limit, Mileage range आदि होंगे। तो यहाँ, Car Class है और wheels, speed limits, mileage हैं उनके properties.

  • एक class एक user-defined data type है जिसमें data members और member functions होते हैं.
  • Data members data variables हैं और member functions इन variables में हेरफेर करने के लिए उपयोग किए जाने वाले functions हैं और ये Data members और member functions एक class में वस्तुओं के properties और व्यवहार को परिभाषित करते हैं.
  • Class कार के उपरोक्त उदाहरण में, Data members speed limit, mileage आदि होगा और member functions ब्रेक लगा सकते हैं, गति बढ़ा सकते हैं आदि.

हम कह सकते हैं कि C++ में क्लास (Class in C++) एक blue-print है जो objects के group का represent करता है जो कुछ common properties और behaviours को share करता है.

C++ What is Objects?

Object: एक वस्तु कुछ properties और behaviours के साथ एक identifiable entity इकाई है। एक Objects एक Class का एक उदाहरण है. जब एक Class परिभाषित किया जाता है, तो कोई memory allocated नहीं की जाती है, लेकिन जब इसे तत्काल किया जाता है (यानी एक वस्तु बनाई जाती है) स्मृति आवंटित की जाती है.

class person
{
char name[20];
int id;
public:
void getdetails(){}
};
int main()
{
person p1; // p1 is a object
}

Object Memory में जगह लेता है और pascal में एक रिकॉर्ड या सी में structure या union की तरह एक associated address होता है।

जब किसी Program को execute किया जाता है तो objects एक दूसरे को message भेजकर इंटरैक्ट करते हैं।

प्रत्येक object में data में हेरफेर करने के लिए data और code होता है। Objects एक-दूसरे के डेटा या कोड के विवरण को जाने बिना बातचीत कर सकते हैं, यह जानने के लिए पर्याप्त है कि किस प्रकार का संदेश स्वीकार किया गया है और ऑब्जेक्ट द्वारा दी गई प्रतिक्रिया का प्रकार।

Encapsulation क्या है?

Encapsulation: सामान्य शब्दों में, Encapsulation को एक unit के तहत data और सूचना के wrapping के रूप में परिभाषित किया जाता है। Object-Oriented Programming में, Encapsulation को डेटा और उन्हें हेरफेर (manipulate) करने वाले कार्यों को एक साथ binding के रूप में परिभाषित किया गया है।

Encapsulation के real-life के उदाहरण पर विचार करें, एक company में, विभिन्न sections हैं जैसे कि accounts section, finance section, sales section आदि. finance section सभी financial transactions को संभालता है और वित्त से संबंधित सभी data का records रखता है। इसी तरह,  sales section बिक्री से संबंधित सभी गतिविधियों को संभालता है और सभी sales का रिकॉर्ड रखता है। 

अब ऐसी स्थिति उत्पन्न हो सकती है जब किसी कारण से finance section के किसी अधिकारी को किसी विशेष महीने में बिक्री के बारे में सभी डेटा की आवश्यकता हो। इस मामले में, उसे सीधे sales section के data तक पहुंचने की अनुमति नहीं है। उसे पहले sales section में किसी अन्य अधिकारी से संपर्क करना होगा और फिर उससे विशेष डेटा देने का अनुरोध करना होगा। यह वही है जो Encapsulation है।

Encapsulation से data abstraction or hiding भी होता है । Encapsulation का उपयोग करने से data भी छिप जाता है। उपरोक्त उदाहरण में, sales, finance या accounts जैसे किसी भी अनुभाग का data किसी अन्य अनुभाग से छिपा हुआ है।

Abstraction क्या है?

Abstraction: Data abstraction C++ में object-oriented programming की सबसे आवश्यक और महत्वपूर्ण विशेषताओं में से एक है। Abstraction का अर्थ है केवल आवश्यक जानकारी प्रदर्शित करना और विवरण छिपाना। Data abstraction का तात्पर्य बाहरी दुनिया को data के बारे में केवल आवश्यक जानकारी प्रदान करना, background details या implementation को छिपाना है.

कार चलाने वाले एक व्यक्ति के वास्तविक जीवन के उदाहरण पर विचार करें। आदमी केवल यह जानता है कि एक्सीलरेटर दबाने से कार की गति बढ़ जाएगी या ब्रेक लगाने से कार रुक जाएगी लेकिन वह यह नहीं जानता कि एक्सीलरेटर दबाने पर गति वास्तव में कैसे बढ़ रही है, उसे कार के आंतरिक तंत्र के बारे में पता नहीं है या कार में त्वरक, ब्रेक आदि का कार्यान्वयन। यही अमूर्तन है।

  • कक्षाओं का उपयोग करके अमूर्तता (Abstraction using Classes) : हम कक्षाओं का उपयोग करके C++ में एब्स्ट्रैक्शन को लागू कर सकते हैं। Class हमें उपलब्ध एक्सेस specifiers का उपयोग करके data members और member functions को group करने में मदद करती है। एक Class यह तय कर सकता है कि कौन सा data members बाहरी दुनिया को दिखाई देगा और कौन सा नहीं।
  • हेडर फाइलों में एब्स्ट्रैक्शन (Abstraction in Header files) : C++ में एक और प्रकार का Abstraction header file हो सकता है। उदाहरण के लिए, math.h header file में मौजूद pow() method पर विचार करें। जब भी हमें किसी संख्या की शक्ति की calculation करने की आवश्यकता होती है, तो हम केवल math.h header file में मौजूद function pow() को call करते हैं और संख्याओं को तर्क के रूप में पास करते हैं, underlying algorithm को जाने बिना जिसके अनुसार function वास्तव में संख्याओं की शक्ति की गणना कर रहा है। .

Polymorphism क्या है?

Polymorphism: Polymorphism शब्द का अर्थ है कई रूपों का होना। सरल शब्दों में, हम बहुरूपता को एक संदेश की एक से अधिक रूपों में प्रदर्शित करने की क्षमता के रूप में परिभाषित कर सकते हैं।

एक ही समय में एक व्यक्ति की अलग-अलग विशेषता हो सकती है। एक आदमी की तरह एक ही समय में एक पिता, एक पति, एक कर्मचारी है। तो एक ही व्यक्ति का अलग-अलग परिस्थितियों में अलग-अलग व्यवहार होता है। इसे बहुरूपता कहते हैं।

एक operations अलग-अलग उदाहरणों में अलग-अलग व्यवहार प्रदर्शित कर सकता है। व्यवहार ऑपरेशन में उपयोग किए जाने वाले डेटा के प्रकार पर निर्भर करता है।

C++ operator overloading और function overloading का support करता है।

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

उदाहरण : मान लीजिए हमें कुछ integers को जोड़ने के लिए एक function लिखना है, कभी 2 integers होते हैं, कभी 3 integers होते हैं। हम अलग-अलग parameters वाले एक ही नाम से Addition Method लिख सकते हैं, संबंधित विधि को parameters के अनुसार बुलाया जाएगा।

Inheritance क्या है?

Inheritance: एक class द्वारा दूसरे वर्ग से गुण और विशेषताएँ प्राप्त करने की क्षमता को  Inheritance कहा जाता है।  Inheritance Object-Oriented Programming की सबसे महत्वपूर्ण विशेषताओं में से एक है।

  • Sub Class: वह वर्ग जो किसी अन्य वर्ग से गुण प्राप्त करता है, उप वर्ग या व्युत्पन्न वर्ग कहलाता है।
  • Super Class: जिस वर्ग के गुण उपवर्ग को विरासत में मिलते हैं, उसे बेस क्लास या सुपर क्लास कहा जाता है।
  • Reusability: वंशानुक्रम “पुन: प्रयोज्य” की अवधारणा का समर्थन करता है, अर्थात जब हम एक नया वर्ग बनाना चाहते हैं और पहले से ही एक वर्ग है जिसमें कुछ कोड शामिल हैं जो हम चाहते हैं, तो हम अपनी नई कक्षा को मौजूदा वर्ग से प्राप्त कर सकते हैं। ऐसा करके हम मौजूदा वर्ग के क्षेत्रों और विधियों का पुन: उपयोग कर रहे हैं।

Example: कुत्ता, बिल्ली, गाय पशु आधार वर्ग का व्युत्पन्न वर्ग हो सकता है।

Dynamic Binding: डायनेमिक बाइंडिंग में, फंक्शन कॉल के जवाब में निष्पादित होने वाला कोड रनटाइम पर तय किया जाता है। C++ में इसका समर्थन करने के लिए virtual functions हैं।

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

आज आपने क्या सीखा

आज आपको Object Oriented Programming in C++ के बारे में जानकारी प्राप्त हुई है. इस पोस्ट में आपको आप Object Oriented Programming in C++ के बारे में बताया गया है जो कि काफी इंपॉर्टेंट टॉपिक है.

अगर आप ऐसे ही आर्टिकल पढ़ना चाहते हैं तो आप इस वेबसाइट को बुकमार्क कर लीजिए जिससे आप हमारे वेबसाइट को आसानी से खोज सके. अगर आपको दिल से यह पोस्ट अच्छा लगा है तो आप इसे शेयर करने में संकोच बिल्कुल ना करें और इसे अपनी फेसबुक इंस्टाग्राम पर जरूर शेयर करें.

Adarsh Pandey
Adarsh Pandeyhttps://techjugut.com
Hi! I'm Adarsh Pandey and I'm here to post some really cool stuff for you. If you have any ideas or any requests please get [email protected], you can also Follow me on instagram! 💗

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here