oops concepts in c++ in hindi

In this, we will discuss C++ OOPs concept and their features,


Introduction oops in C++ hindi

जैसा कि हम जानते हैं कि C ++, C language का ही updated version है लेकिन जब C language पहले से ही थी, तब C ++ की आवश्यकता क्यों पड़ी । C और C ++ के बीच मुख्य अंतर OOPs का है।

C एक POP (Procedure Oriented Programming) भाषा है जबकि C ++ Object Oriented Programming language है हालांकि, C ++ OOPs और POP दोनों को support करती है जबकि C केवल POP को support करता है।

जब OOPs features को C में जोड़ा गया था, तो इसे C++ नाम दिया गया। OOP में programming करने से पहले, POP और OOPs के बारे में जान लेते हैं ताकि आपको पता चल जाए कि एक नई भाषा C++ की कमी क्यों महसूस हुई ।

Procedure Oriented Programming (POP)

POP language में function का collection होता है या set of function होता है। इस प्रकार की technique पर आधारित programming language में, एक program कई functions में बंटा होता है। इन function में किसी operation के लिए statements होते हैं।

लेकिन जब किसी एक program में function की संख्या बढ़ने लगती है या program का size बढ़ने लगता है, तो ऐसी स्थिति में इतने बड़े कोड को manage करना आसान नहीं होता है और इस तरह program में declared function, global data access करते हैं। लेकिन इतनी बड़ी संख्या में जहाँ function same data को access कर रहे हों तो ऐसे में data -loss या data -flow जैसी समस्याएं उत्पन्न होने लगती हैं और जिसके कारण program एक उपयुक्त परिणाम नहीं देता। दूसरे शब्द में हम कह सकते हैं कि program में बग या त्रुटियां आ जाती हैं ।

इतने बड़े program को debug करना, जो कई functions बंटा हो , आसान नहीं होता। हमें प्रत्येक function को निर्धारित करना होगा, जो एक जटिल प्रक्रिया है। C , pascal , cobol POP प्रकार की language के उदाहरण हैं।

Object-Oriented Programming (OOPs)

सरल शब्दों में OOPs, collection of objects होता है। जिसमे program object में बंटा होता है जहाँ object data -member  function member का collection होता है जो एक साथ एक set के रूप में logically एक दूसरे से related होते हैं, जिसे class कहा जाता है। इसलिए हम कह सकते हैं कि एक class OOPs का important feature होता है।

इसे विस्तार से समझते हैं –

जैसे POPs आधारित language , collection of function होता है , ठीक उसी तरह oops language set of object होता है, जिसमे real -world problem या task को करने के लिए program को object में विभाजित किया जाता है।

जैसे कि बताया गया है कि object data members और function member का एक set होता है जिसे class कहा जाता है, इन members को बाहर से या किसी external function से access नहीं किया जा सकता। एक तरह से, data secure रहता है, और क्योंकि उसी class के object ही इन function को access कर सकते हैं ऐसे में data flow की संभावना भी कम हो जाती है।

OOPs में class members को reuse करने की सुविधा भी प्रदान करता है। C++, Java, Smalltalk language OOPs programming को support करते हैं। क्योंकि C ++, POP और OOP दोनों का support करता है, इसलिए यह pure OOPs language नहीं है।

चलिए इसे जरा व्याहारिक भाषा में समझते हैं –

नीचे दो थाली के diagram दिए गए हैं जिसमे एक OOPs तथा दूसरा POP को प्रदर्शित करता है –

जैसे कि आप देख सकते हैं POP को प्रदर्शित कर रही थाली में भोजन एक दूसरे में मिक्स हो रहा है(program में data -loss या data -flow का दर्शाता हुआ ) जबकि OOP वाली थाली में ऐसा नहीं है दूसरी थाली एक साफ़ सुथरी और केटेगरी अनुसारी व्यवस्थित है(program में object की भूमिका की भूमिका को दर्शाता हुआ )-

POPs-example-in-cpp
POPs को प्रदर्शित diagram

OOPs-example-in-cpp
OOPs को प्रदर्शित diagram

real -world में एक आम आदमी का नजरिया इन थालियों के लिए जो होगा programming world में वह वही नजरिया एक प्रोग्रामर का होगा।

ध्यान दें-
OOPs हो या POPs दोनों केवल programming method हैं जो किसी program को और बेहतर तरीके से बनाने की सुविधा देता हैं तथा साथ ही उसे secure बनाने में मदद करता हैं परन्तु जिस प्रकार ऊपर दिए गए दोनों diagram में थाली से ज्यादा important भोजन है वैसे ही programming में logics /algoritham important होते हैं। इसलिए भोजन को बेहतर बनाने पर ध्यान दें अर्थात इन advance methods पर ज्यादा ध्यान के बजाय programming के basic concept पर दें जो आपको लॉजिक्स बनाने में मदद करते हैं जिनसे आप real world problem को solve करते हैं।

C++ pop और oop दोनों दोनों को support करता है, जिसका अर्थ है कि आप इसे pop और oop दोनों तरीके से programming कर सकते हैं। इस tutorial के अब तक दिए गए सभी programs pop programming के examples हैं

oops शुरू करने से पहले हम OOPs के अन्य features के बारे में चर्चा करेंगे।

ये features इस प्रकार हैं

class in C++ in hindi

class एक user-defined data type है। class oops का सबसे important features है इससे ही oops के अन्य features implement होते हैं।

class,  data member और function member का एक collection होता है, जो data types (int, float, char) और derived data types (array ,function ) दोनों प्रकार के हो सकते हैं। जिसमें members logically एक दूसरे से related होते हैं। इन data members केवल इस class के function members ही access कर सकते हैं।अर्थात, data को class के बाहर से access नहीं किया जा सकता है। एक तरह से data security प्राप्त होती है।

किसी class का syntax निम्न प्रकार का होगा –

SYNTAX

class class-name
 {
   data-member;
   function-member;
 };

जहा class-name एक identifier हैअर्थात कोई भी user defined name (reserved keyword को छोड़कर)

class के इस syntax का उपयोग करके हम एक class तो बना सकते हैं, लेकिन इसे implement नहीं कर सकते, इसका मतलब है कि अगर हम इस syntax को ध्यान में रखकर class बनाते हैं, तो इसमें कोई runtime error नहीं आएगा , लेकिन इसका कोई output भी नहीं आएगा।

इसलिए class में कुछ access specifier है। जिसका उपयोग करके हम एक class को implement करते हैं। तो नया syntax इस प्रकार होगा –

class class_name
 {
   private:    //access specifier
      data member;
      function member; 

   public:    // access specifier
      data member;
      function member;
};

class के बारे में हम और अधिक आगे पढ़ेंगे।

जब हम program में किसी class को प्रयोग में लाते हैं तो हमें OOPs की अन्य features जैसे encapsulation , data abstraction , data encapsulation प्राप्त हो जाते हैं।

आइए उनके बारे में चर्चा करें,

object in C++ in hindi

जैसे real world किसी वस्तु की अपनी property या behaviour होता है, वैसे ही OOPs में भी, एक object की property , उस class का function member और behaviour उस class के data member होते हैं।

object, data members और function member का एक set होता है जो class में एक दूसरे से related होते हैं। जिसमें किसी task को करने के लिए statements होते हैं।

जब हम OOPs को देखते हुए programming कर रहे होते हैं, तब किसी problem को solve करने के लिए जो code लिखा जाता है, उसे उस class के object से access किया जाता है।

class और object, में object के बारे में अधिक जानकारी दी गई है

sending message in C++ in hindi

इसमें object एक दूसरे से एक message sending से communicate करते हैं, जब कोई object को message receive करता है, तो object अपने स्वयं के function को call करता है और उस class के function को execute करता है जहां इसे declared किया गया है।

Data encapsulation in C++ in hindi

data member और function member को एक class में एक साथ बांधने को data encapsulation कहा जाता है-

data-ecapsulation-cpp-in-hindi

जैसा कि आप देख सकते हैं कि यह एक class का syntax है, इसका मतलब है कि जैसे ही class को implement किया जाता है वैसे ही हमें data encapsulation features automatic ही प्राप्त हो जाता है।

Data abstraction in C++

data abstraction, data encapsulation से ही implement किया जाता है। abstraction end-user को केवल वही जानकारी show करता है जिसको उसकी जरुरत है और implementation hide कर देता है।

उदाहरण के लिए –

किसी mobile से call करने के लिए, हमें contact number input करना होता है लेकिन mobile ने इस call को कैसे implement किया, यह हमें show नहीं करता।

क्योंकि एक class abstraction जैसा feature provide करता है इसलिए एक class को abstract data type (ADT) भी कहा जाता है।

C++ inheritance

OOPs का यह features codes को re-usability.की सुविधा प्रदान करता है। इसमें हम एक class के properties या behaviour को किसी दूसरी class में add करते हैं। इस तरह से एक class की पहले से अपनी कुछ property और behaviour तो होते ही हैं लेकिन साथ में किसी दूसरे class की property और behaviour भी उसमे आ जाते हैं वह भी बिना किसी class को modify किए। inheritance और इसके types में इसके बारे में अधिक जानकारी दी गई है।

Polymorphism in C++

Greek भाषा में। poly का अर्थ है – बहुत और morphism का मतलब है – types अर्थात नाम एक काम अनेक

आइए इसे एक उदाहरण के साथ समझते हैं –
real world में polytechnic कई courses को represent करता है-

polymorphism-in-cpp

 

जैसा कि आप ऊपर दिए गए diagram से समझ सकते हैं, यहां external interface समान है लेकिन internal interface अलग है अर्थात् polytechnic (नाम ) सभी courses का प्रतिनिधित्व करता है जो सभी technical courses हैं, लेकिन इन courses की property और behaviour (काम ) एक दूसरे से different होते हैं। लेकिन सभी technical course होने के नाते, उनका प्रतिनिधित्व एक ही नाम से किया जा रहा है.

ऐसे ही oops में, किसी भी object या function का बाहरी interface समान होता है लेकिन उनकी property और behaviour (internal interface ) एक दूसरे से भिन्न होते हैं। property और behaviour का मतलब है कि उनमे different task के लिए statements होते हैं। उदाहरण

जैसे हमने किसी program में 3 function declare किए हैं और सभी function -name समान हैं लेकिन प्रत्येक function में parameters की संख्या कम या अधिक है या different types के parameters declare किए गए हैं। इसे function overloading कहेंगे।

C ++ में, polymorphism को दो भागों में विभाजित किया गया है-

what-is-polymorphism in cpp hindi

previous – Storage class in C++

next- Class and object in C++

1 thought on “oops concepts in c++ in hindi”

Average
5 Based On 1

Leave a Reply

Your email address will not be published. Required fields are marked *