OOP(Object-Oriented Programming) Concepts in Hindi
What is OOP(Object-oriented programming) in Hindi
OOP(Object-Oriented Programming) जैसे कि इसके नाम से ही पता चलता है कि Programming में Objects का Use करना या ऐसा Programming जो Object पर आधारित है Object-Oriented Programming कहलाता है
OOP में Objects के चारों ओर Code को व्यवस्थित किया जाता है जो Data और Function के लिए एक Container की तरह है।
Classes इन Objects के लिए एक Blue print की भांति कार्य करती है जो यह निर्दिष्ट करती है कि वे क्या Store कर सकते हैं और क्या कर सकते हैं।
OOP में हम समस्या को बहुत सी Units में तोड़ देते हैं जिन्हें Object कहते हैं और इन Object के चारों तरफ Data और Function बनाते हैं।
किसी Object का Data सिर्फ उसी Function के द्वारा Use किया जा सकता है जो उस Object से संबंधित हो फिर भी एक Object के Function दूसरे Object के Function का Use कर सकते हैं
Meaning of OOP in Hindi- OOP का अर्थ
C++, में OOP (Object-Oriented Programming) Code लिखने का एक तरीका है जिसमे Objects और Classes का Use किया जाता है
यह Data और Functions को एक साथ बांधने, Code का पुनः उपयोग करने पर focus करता है जिससे इसे Manage करना आसान हो जाता है|
Objects वास्तविक जीवन के चीजों की तरह है, Classes इन Objects को describe करता है और OOP, Code संगठित रखने में मदद करता है और उसके साथ कार्य करना आसान बनाता है
Concepts of OOP/features of OOP in Hindi
C++ में Object-Oriented Programming कई fundamental concepts पर आधारित है जो निम्न है।
1) Classes
2) Objects
3) Encapsulation
4) Abstraction
5) Inheritance
6) Polymorphism
7) Dynamic Binding
8) Message Passing
Classes
C++ OOP में एक Class, Object बनाने के लिए एक Blue print की तरह होती है जो Objects के Structure और Behaviour को Define करती है
Class, Information को Store करने के लिए Variable जो Data members कहलाता है तथा Action perform करने के लिए functions जो Member functions या Methods कहलाता है, को रखता है
उदाहरण के लिए हम Car नामक एक Class बना रहे हैं इस Class के अंदर हमारे पास Color, Brand, Price, Speed जैसे variables और start() और accelerate() जैसे functions हो सकते है
ये variables और functions एक Car की properties और behaviours का वर्णन करते हैं
एक बार जब हम Class Car को Define कर लेते हैं तो हम इसके लिए कई Objects बना सकते हैं
Classes संबंधित data और functions को एक साथ सामूहीकृत करके के Code को व्यवस्थित करने में मदद करती है जिससे इसे manage करना और समझना आसान हो जाता है।
Objects
C++, में एक Objects एक Class का एक विशिष्ठ Instance होता है प्रत्येक Object में Class द्वारा Define किए गए Data variables और functions का अपना Set होता है
यदि कोई Class किसी Blue print की तरह है तो कोई Object उस Blue print के आधार पर बनाई गई वास्तविक चीज की तरह है जैसे आप एक Blue print से कई घर बना सकते हैं वैसे ही आप एक Class से कई Objects बन सकते हैं
मान लीजिए यदि आपके पास `Car` नाम से एक Class हैं जिसकी Properties `Color`, `Model` और 'Price' है तब आप इस Class से एक `myCar` नाम से एक Object का निर्माण कर सकते हैं|
`myCar` Object की Properties अर्थात Color`, `Model` और 'Price' के लिए विशिष्ट Values होगी अतः आप Class के आधार पर जितने Objects का निर्माण करेंगे सबकी Properties की Values अलग अलग होगी
Encapsulation
OOP में Encapsulation, संबंधित Data और Functions को एक साथ एक Unit में जिसे Class कहा जाता है रखता है
यह Data के कुछ Details जैसे वह कैसे Store तथा Use किया जाता है, को छिपाता है और उसके कुछ भागों को ही सीधे Access और Change करने की अनुमति देता है
Data के Access को Control करने के लिए Access controls जैसे private, protected, और public का Use किया जाता है
Encapsulation, Data में होने वाले अनचाहे बदलाव को रोकता है तथा यह आपके Program के अन्य हिस्सों को प्रभावित किए बिना Class के अंदर के कार्य करने के तरीके को बदलने की अनुमति देता है
Abstraction
Abstraction का मतलब है कि केवल आवश्यक सूचनाओं को प्रदर्शित करना और उसके विस्तृत या जटिल विवरण को छिपा देना | यह इस बात पर ध्यान केंद्रित करना है कि Program या Program का एक हिस्सा क्या करता है, न कि इस बात पर कि वह यह कैसे करता है
आप Users के लिए functions और classess के साथ Interact करने के लिए सरल Interface का निर्माण करते है
और यह कैसे कार्य करता है, इसके विवरण को Users से छुपा देते ताकि Users उसके लिए, जो आवश्यक है उन्ही बातों को ही जान पाए
मान लीजिए कि आप एक Car चला रहे हैं और इसे चलाने के लिए यह जानने की जरूरत नहीं है कि इंजन कैसे कार्य करता है आपको केवल Car चलाने पर ही ध्यान देना होता है
अतः Abstraction Coding की प्रक्रिया को सरल बना देता है जिससे जटिल सिस्टम को बनाना और व्यवस्थित करना सरल हो जाता है यह अनावश्यक विवरण को दूर करके Code को समझना, बनाए रखना और पुनः उपयोग करना आसान बनाता है
Inheritance
Inheritance एक ऐसी प्रक्रिया है जिसके द्वारा पहले से मौजूद Classes से नई Classes बनाई जाती है नई Classes को Derived/Child/Sub classes कहा जाता है और पहले से मौजूद Classess को Base/Parent/Super classes कहा जाता है Derived classes के पास Base classes की सभी विशेषताएं होती है और हम कुछ नई विशेषताओं को Derived classes में जोड़ सकते हैं
उदाहरण के लिए हम "fruit" नामक एक Base class बना सकते हैं और उसमें हम Apple, Mango, Orange इत्यादि नाम से Derived classes Define कर सकते हैं
इन Derived classes में हर एक के पास Base class की विशेषताओं के साथ कुछ अतिरिक्त विशेषताएं(members) भी मौजूद है जो उस Derived class लिए अलग और विशिष्ट होगी
अर्थात Apple, Mango, Orange के पास अपने अपने अलग से Defined members होंगे
Polymorphism
Polymorphism का मतलब है एक नाम तथा अनेक रूप
OPP में Polymorphism एक ऐसा Concepts है जिसमे एक function या method, जिस Object पर कार्य कर रहा है उसके आधार पर विभिन्न तरीकों से कार्य कर सकता है
Polymorphism के Real life में इसे एक उदाहरण से समझते है जैसे एक ऐसी महिला है जिसमें एक ही समय में विभिन्न विशेषताएं हो सकती है वह एक एक ही समय में एक महिला, एक मां, एक पत्नी और एक कर्मचारी होती है
अतः एक ही व्यक्ति अलग-अलग परिस्थितियों में अलग-अलग व्यवहार प्रदर्शित करता है इसे ही Polymorphism कहा जाता है जो ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का एक महत्वपूर्ण विशेषता है
इसे एक और उदाहरण से समझते हैं मान लीजिए कि के एक function `draw()` एक Base class `Shape` में define किया गया है और 'circle', 'rectangle' जैसे Derived classes में अलग-अलग तरीके से लागू किया जाता है
जब `draw()` function को circle, rectangle, या triangle जैसी विभिन्न प्रकार की shapes पर call किया जाता है, तो यह स्वचालित रूप से जानता है कि 'draw()' के किस संस्करण का उपयोग करना है।
एक circle के लिए, यह एक circle खींच सकता है; एक rectangle के लिए, यह एक rectangle बना सकता है। इसका मतलब है कि आप एक सामान्य फ़ंक्शन लिख सकते हैं और भरोसा कर सकते हैं कि यह किसी भी shape के साथ सही ढंग से काम करेगा, जिससे आपका कोड अधिक लचीला और पुन: उपयोग बन जाएगा।
Polymorphism मे अलग-अलग Classes के Objects के लिए एक ही तरह के function/operators का उपयोग करना और उनसे अलग-अलग तरह से व्यवहार करवाना जैसे क्षमताएं सम्मिलित है
Polymorphism दो प्रकार के होते हैं
1) Compile-time Polymorphism
2) Run- time Polymorphism
Dynamic Binding
Dynamic Binding को हम एक उदाहरण से समझने का प्रयास करते हैं मान लीजिए कि आपके पास एक प्रोग्राम है जो Circles और Squares जैसे विभिन्न shapes से संबंधित है
आप "shape" नामक एक Base class और "circle" और "square" नामक दो Derived class बनाते हैं अब मान ले कि आप चाहते हैं कि प्रत्येक shape में "calculateArea()" नामक एक function हो लेकिन आप चाहते हैं कि प्रत्येक shape अपने Area की गणना अलग-अलग तरीके से करें
अतः आप "shape" नामक Class में "calculateArea()" function को एक Virtual function के रूप मे Declare करते है फिर आप इस function को "circle" और "square" Classes में उनकी अपनी विशिष्ट गणनाओं के साथ override करते है
जब आप Base class "shape" के pointer या reference का Use करके किसी shape object(circle या square) पर "calculateArea()" function को Call करते है, तो प्रोग्राम यह पता लगाता है कि "calculateArea()" के किस संस्करण का प्रयोग इस आधार पर किया जाना चाहिए कि यह किस प्रकार के shape से निपट रहा है
इसलिए यदि यह एक "circle" है तो यहां "circle" के "calculateArea()" संस्करण का उपयोग करेगा और यदि यह एक "square" है तो यह square के संस्करण का उपयोग करेगा
यह कार्य प्रोग्राम चलने के दौरान या स्वचालित रूप से होता है जिससे यह निश्चित होता है कि प्रत्येक shape अपने Area की सही गणना करता है आपको स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता नहीं की फंक्शन के किस संस्करण का उपयोग करना है
Message Passing
Message passing संचार संपर्क की एक प्रक्रिया है जिसमें Objects एक दूसरे से जानकारी लेकर और भेज कर एक दूसरे से संपर्क करते हैं यह उसी प्रकार होती है जिस प्रकार हम लोग एक दूसरे को संदेश भेजते हैं
सरल शब्दों में कहा जाए तो Message Passing किसी Program की विभिन्न हिस्सों के बीच सूचना को संचार और साझा करने के लिए Notes भेजने जैसा है
कल्पना कीजिए कि आप Class room में है और आपको एक प्रश्न पूछना है आप इसे कागज के एक टुकड़े पर लिखिए और उसे व्यक्ति को दें जो इसका उत्तर दे सके
इसी तरह Programming में Message passing में Objects या Components शामिल होते हैं जो किसी कार्य को करने के लिए request करने, Data share करने या Events को Trigger करने के लिए एक दूसरे को Message भेजते हैं
प्रत्येक Message में निर्देश या जानकारी होती है जिसे Receiver object समझता है और उस पर कार्य करता है जिससे Program के भीतर सहयोग और बातचीत को सक्षम किया जाता है
Advantages of OOP in Hindi
1) OOP बड़ी समस्याओं को छोटे और आसानी से संभालने वाले हिस्सों में बनाने में मदद करता है
2) OOP में Inheritance आपको Code का पुनः उपयोग करने की सुविधा देता है अतः आपको एक ही कार्य को बार-बार करने की जरूरत नहीं है जिससे आपका समय और परिश्रम बचता है
3) OOP में Encapsulation आपका डाटा को बाहरी लोगों से सुरक्षित रखता है
4) OOP में Abstruction सभी जटिल विवरणों को छुपाता है इसलिए आप केवल वही देखते हैं जो आपको देखने की आवश्यकता है
5) OOP आपके द्वारा पहले से बनाए गए प्रोग्राम को खराब किए बिना नहीं सुविधाओं को उसमें जोड़ना आसान बनाता है
6) OOP आपके Code को सुव्यवस्थित और कार्य करने में आसान रखने में मदद करता है जिससे आप समस्याओं को शीघ्रता से ढूंढ और ठीक कर सकते हैं
7) OOP संबंधित function और Data को एक साथ bundle करता है जिससे Code को समझना आसान हो जाता है
Related Posts
> C++ क्या है? उसके इतिहास, गुण, उपयोग, फायदे और नुकसान
> Basic structure of C++ Program
> C++ में Tokens क्या है? और उसके प्रकार
> C++ Variables क्या है?, उसके प्रकार, उसे कैसे Declare, Define करते हैं
> C++ में Constants क्या है? उसके प्रकारों की संपूर्ण जानकारी
> C++ में Basic Input और Output (cin,cout,cerr) की जानकारी
> Data type in C++ की संपूर्ण जानकारी
> C+ में Operators और उसके प्रकार जानें Practical सहित
> C++ में Conditional और उसके प्रकारों को जानें Practical सहित
> C++ में Looping statements और उसके प्रकार Practical सहित
> C++ में Jump Statements और उसके प्रकारों की संपूर्ण जानकारी Practical सहित
> C++ में Array क्या है? और उसके प्रकारों की जानकारी Practical सहित
> C++ में Function क्या है उसके प्रकार, उपयोग प्रोग्राम सहित
> C++ में Structure क्या है Practical सहित
> Oops के फायदे और नुकसान की जानकारी
> OOP और POP के बीच अंतर
> C++ में Class और Object की सम्पूर्ण जनकारी
> C++ में Array of Objects क्या है?
> C++ में Pointers, Pointer to an objects, Pointer to an Array की संपूर्ण जानकारी हिंदी में।
> C++ में Passing objects क्या है
> C++ में Reference और Type Casting की संपूर्ण जानकारी
> C++ में Access specifier की संपूर्ण जानकारी
> C++ में Static Data Members और Member Functions के बारे में Practical सहित
> C++ में Memory allocation और Memory management operators (new और delete) Practical सहित
> Friend Function in C++ in Hindi
> Friend Class in C++ in Hindi Practical सहित
> Inline function in C++ in Hindi
> Function Overloading in C++ in Hindi Practical सहित
> Operator Overloading in C++ in Hindi Practical सहित
> C++ में Constructor क्या है और उसके प्रकारों की संपूर्ण जानकारी
> C++ में Destructor क्या है ?उसकी संपूर्ण जानकारी
> C++ मे Inheritance क्या है उसके प्रकारों को जानें प्रोग्राम सहित
> C++ में Polymorphism क्या है? और उसके प्रकारों को जानें
> C++ में Virtual function की संपूर्ण जानकारी
> C++ में File handling की संपूर्ण जानकारी
> C++ में Exception handling की संपूर्ण जानकारी
0 टिप्पणियाँ