जय हिन्द दोस्त , GyaniBasti में आपका स्वागत है | इस पोस्ट में OOPs concepts in java with realtime example तथा OOPs concepts interview questions से सम्बंधित सटीक जानकारी हम आपको देंगे | यहाँ पर OOPs concepts को Hindi me प्रदर्शित करके समझाया गया है | हमे विश्वास है की आप OOPs in hindi की इस पोस्ट को पढ़कर अपने सवालो का जबाब पा सकेंगे |
OOPs in Hindi
हम कंप्यूटर पर जो भी प्रोग्राम या सॉफ्टवेर बनाते है | इसका एक मुख्य उद्देश्य होता है की वह हमारी रियल लाइफ की प्रोब्लेम्स को सरल करके सोल्व कर सके | तो जिस प्रकार की समस्या होती है, उसे हल करने के लिए हमे उसी टाइप के कुछ तरीको को या एक क्रम को फॉलो करना होता है |
जैसे – अगर हमारे पास एक पानी पीने की प्रॉब्लम है अर्थात हमे पानी पीना है तो इसके लिए भी हमें एक क्रम का पालन करना होगा जो निम्न प्रकार से होगा –
♦ सबसे पहले गिलास लेना पड़ेगा , जिसे Variable Declaration कहते है.
♦ फिर गिलास में पानी लेना पड़ेगा , जिसे Input कहते है.
♦ फिर उस पानी को मुह तक लाना पड़ेगा , जिसे Process कहते है.
♦ अंततः पानी मुह में जायेगा और प्यास बुझ जाएगी , जिसे Output कहते है.
OOPs भी इसी प्रकार का एक तरीका होता है, जिसके कुछ सिद्धांत होते है | जिनका उपयोग करके हम एक बेहतर सॉफ्टवेर या प्रोग्राम बना सकते है जो पूरी तरह से सिक्योर होगा | OOPs का पूरा नाम Object Oriented Programming होता है, इसके नाम में programming word जरुर होता है | लेकिन OOPs किसी भी प्रकार की कोई Programming Language नहीं होती है बल्कि यह एक प्रकार का Concept या Method होता है | जिसको किसी Other Programming Languages द्वारा Coding करने के दौरान Follow किया जाता है | OOPs Concept को किसी प्रोग्रामिंग लैंग्वेज द्वारा Follow करने के पीछे एक मुख्य कारण, उस लैंग्वेज में कोड किये हुए प्रोग्रम को security देना होता है |
कुछ Programming Language एसी होती है | जिनमे हम बिना OOPs Concept को Follow किये Program लिख सकते है | जैसे C++ , जबकि कुछ Programming Language ऎसी होती है जिनमे OOPs Concept को Follow किये बगैर Program नहीं लिखा जा सकता | जैसे Java – इसीलिए Java Full OOP [ 99.99 % ] Language है |
OOPs के कुछ गिने चुने कांसेप्ट नहीं होते है बल्कि OOPs के बहुत से concepts होते है, जिनमे से कुछ प्रचलित कांसेप्ट निम्नलिखित है –
♦ Object
♦ Class
♦ Data Abstraction & Encapsulation
♦ Polymorphism
♦ Inheritance
♦ Data Binding
♦ Message Passing
इन सभी उपर्युक्त कॉन्सेप्ट्स के विषय में संक्षिप्त टिप्पड़ी निम्नलिखित है –
◊ Object :-
दुनिया की हर वह चीज ऑब्जेक्ट होती है जिसे physically देखा जा सके | जैसे – Keyboard, Employee and Client etc या दिखाई देने बाली चीज के रिफरेन्स [ सन्दर्भ ] में महसूस किया जा सके | जैसे – Bank Account etc. हर ऑब्जेक्ट की कुछ विशेषताए होती है, जिसकी वजह से एक ऑब्जेक्ट किसी दुसरे ऑब्जेक्ट से अलग पहचाना जा सकता है | ऑब्जेक्ट की इन विशेषताओ को उस ऑब्जेक्ट के Attributes या Properties कहते है |
Object, Class का Instance होता है जो की Variable के स्थान पर Real Value को Contain किये रहता है | ये एक प्रकार से Run Time Entity होती है |
◊ Class :-
क्लास, एक ही प्रकार के ऑब्जेक्ट्स का ग्रुप होती है | जैसे – “फल” नाम की कोई क्लास है तो उसमे आम, केला, अंगूर, सेब इत्यादि फलो के ऑब्जेक्ट्स को ही रखा जा सकता है | यानि सिमिलर टाइप के ऑब्जेक्ट्स का ग्रुप ही क्लास कहलाता है | क्लास एक यूजर डिफाइन डाटा टाइप होता है, जिसके अन्दर यूजर सिमिलर ऑब्जेक्ट को डिफाइन कर सकता है |
◊ Data Abstraction & Encapsulation :-
Data Abstractions से अर्थ है की ऑब्जेक्ट के केवल आवश्यक जानकारी को प्रदर्शित करना तथा उसकी बैकग्राउंड की प्रोसेस व जानकारी को छुपाये रखना | जैसे – आप ATM से पैसे निकलते है तो आपको उस मशीन पर कुछ इंटरफ़ेस दिखता है जिसपर इनपुट देकर आप पैसे निकाल लेते है तब उसके पीछे कितनी प्रोसेस होती है वह आपको नहीं दिखती | यही Hiding का काम Data Abstractions द्वारा किया जाता है | यह सिर्फ ऐसे ऑब्जेक्ट्स को चुनता है जो प्रोग्राम के लिए जरुरी है |
यह एक ऐसा कांसेप्ट होता है जो डाटा मेम्बेर्स और मेम्बर मेथड्स को एक साथ एक ही यूनिट में या क्लास में Wrap या Bind करके रखता है | इसमें जो इंस्टैंस वेरिएबल होते है वो प्राइवेट होते है अगर इन वेरिएबल्स को आउटसाइड से एक्सेस किया जाये तो ये एक्सेस नहीं किये जा सकते | इसलिए Encapsulation को Data Hiding भी कहा जाता है |
◊ Polymorphism :-
ये शब्द Poly और Morph इन दोनों शब्दों से मिलकर बना हुआ है | जिसका अर्थ होता है – एक ही रूप में अनेक रूप होना अर्थात एक से अधिक फॉर्म का होना | Java में इसके अंतर्गत Function Overloading की जाती है | किसी एक फंक्शन से एक से अधिक टास्क असाइन करना Function Overloading कहलाता है |
उदाहरण के लिए जैसे – आपके पास जो मोबाइल है उसमे कई सारे फंक्शन [ कैमरा, म्यूजिक, विडियो, कालिंग इत्यादि ] है तो यहाँ पर मोबाइल तो एक ही है लेकिन उसके कई सारे फॉर्म है , यही Polymorphism होता है |
◊ Inheritance :-
इसमें किसी एक क्लास की प्रॉपर्टी या मेथड को किसी दूसरी क्लास में एक्सेस कराया जाता है | इसमें मुख्यतः Parent Class [ Base Class या Super Class ] और Child Class [ Derived Class या Sub Class ] का उपयोग किया जाता है | C++ , Inheritance के सभी प्रकार को Support करता है जबकि Java , Inheritance के Multiple Inheritance के प्रकार को Support नहीं करता है | मतलब जावा में पैरेंट क्लास के कई चाइल्ड क्लास हो सकते है लेकिन चाइल्ड क्लास का सिर्फ एक ही पैरेंट क्लास होता है |
◊ Data Binding :-
Program में Method/Function की Calling को उसी के Method/Function की Definition के साथ Bind करना , Data Binding कहलाता है | Binding २ टाइप की होती है –
⇒ Static Binding [ Early Binding] – ये Compile Time पर होती है.
⇒ Dynamic Binding [ Late Binding ] – ये Run Time पर होती है.
इन दोनों टाइप का उपयोग C++ में किया जाता है जबकि जावा में सिर्फ Dynamic Binding ही होती है |
◊ Message Passing :-
यहाँ पर Message Passing से तात्पर्य आपस में Communicate करने से है | जिसके लिए किसी एक क्लास के अन्दर डिफाइन किये हुए एक ही प्रकार के सिमिलर ऑब्जेक्ट आपस में संचार या कम्यूनिकेट कर सकते है | कम्यूनिकेट करने के लिए उन ऑब्जेक्ट्स को आपस में पैरामीटर पास करने होते है | यह प्रक्रिया मेसेज पासिंग कहलाती है |
Bahut Bdhiya Sir
Good