उफ़ Concepts in Java
ओ.ओ.पी.एस. क्या है?
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग सिस्टम (OOPs) एक प्रोग्रामिंग अवधारणा है जो अमूर्तता, एनकैप्सुलेशन, विरासत और बहुरूपता के सिद्धांतों पर काम करती है। यह उपयोगकर्ताओं को अपनी इच्छानुसार ऑब्जेक्ट बनाने और उन ऑब्जेक्ट को संभालने के लिए विधियाँ बनाने की अनुमति देता है। OOPs की मूल अवधारणा ऑब्जेक्ट बनाना, पूरे प्रोग्राम में उनका पुनः उपयोग करना और परिणाम प्राप्त करने के लिए इन ऑब्जेक्ट में हेरफेर करना है।
OOP जिसका अर्थ है “ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग” आधुनिक प्रोग्रामिंग भाषाओं में एक लोकप्रिय रूप से ज्ञात और व्यापक रूप से उपयोग की जाने वाली अवधारणा है Java.
उफ़ Concepts in Java उदाहरण के साथ
निम्नलिखित सामान्य OOPs अवधारणाएँ हैं Java:
1) कक्षा
RSI कक्षा OOPs की मूल अवधारणाओं में से एक है जो समान संस्थाओं का एक समूह है। यह केवल एक तार्किक घटक है और भौतिक इकाई नहीं है। आइए OOPs में से इस एक को समझते हैं Concepts उदाहरण के लिए, यदि आपके पास "महंगी कारें" नामक एक क्लास है, तो इसमें मर्सिडीज, बीएमडब्ल्यू, टोयोटा आदि जैसी वस्तुएं हो सकती हैं। इसके गुण (डेटा) इन कारों की कीमत या गति हो सकते हैं। जबकि इन कारों के साथ किए जाने वाले तरीके ड्राइविंग, रिवर्स, ब्रेकिंग आदि हैं।
2) वस्तु
किसी ऑब्जेक्ट को क्लास के इंस्टेंस के रूप में परिभाषित किया जा सकता है, और किसी प्रोग्राम में क्लास के कई इंस्टेंस हो सकते हैं। ऑब्जेक्ट उन क्लास में से एक है जो क्लास के इंस्टेंस के रूप में परिभाषित किया जाता है। Java OOPs अवधारणाएँ जिसमें डेटा और फ़ंक्शन दोनों शामिल होते हैं, जो डेटा पर काम करते हैं। उदाहरण के लिए - कुर्सी, बाइक, मार्कर, पेन, टेबल, कार, आदि।
3) उत्तराधिकार
विरासत बुनियादी में से एक है Concepts OOPs का वह तरीका जिसमें एक ऑब्जेक्ट पैरेंट ऑब्जेक्ट के गुण और व्यवहार को प्राप्त करता है। यह दो क्लास के बीच पैरेंट-चाइल्ड संबंध बनाता है। यह किसी भी सॉफ़्टवेयर के आयोजन और संरचना के लिए मज़बूत और प्राकृतिक तंत्र प्रदान करता है।
4) बहुरूपता
बहुरूपता OOPs अवधारणाओं में से एक को संदर्भित करता है Java जो किसी चर, वस्तु या कार्य की कई रूप लेने की क्षमता है। उदाहरण के लिए, अंग्रेज़ी में, क्रिया रन यदि आप इसका प्रयोग करते हैं तो इसका अर्थ अलग होगा एक लैपटॉप, पैदल दौड़, तथा व्यापार. यहाँ, हम इसका अर्थ समझते हैं रन इसके साथ इस्तेमाल किए गए दूसरे शब्दों के आधार पर। यही बात पॉलीमॉर्फिज्म पर भी लागू होती है।
5) अमूर्तन
मतिहीनता ओओपी में से एक है Concepts in Java जो पृष्ठभूमि विवरण को शामिल किए बिना आवश्यक सुविधाओं का प्रतिनिधित्व करने का एक कार्य है। यह एक नया डेटा प्रकार बनाने की एक तकनीक है जो किसी विशिष्ट एप्लिकेशन के लिए उपयुक्त है। आइए इसे OOPs में से एक समझते हैं Concepts उदाहरण के लिए, कार चलाते समय आपको उसके अंदरूनी कामकाज के बारे में चिंता करने की ज़रूरत नहीं है। यहाँ आपको बस स्टीयरिंग व्हील, गियर, एक्सेलरेटर आदि जैसे भागों के बारे में चिंता करने की ज़रूरत है।
6) एनकैप्सुलेशन
कैप्सूलीकरण सर्वश्रेष्ठ में से एक है Java डेटा और कोड को लपेटने की OOPs अवधारणाएँ। इस OOPs अवधारणा में, एक क्लास के वेरिएबल हमेशा दूसरे क्लास से छिपे रहते हैं। इसे केवल उनके मौजूदा क्लास के तरीकों का उपयोग करके ही एक्सेस किया जा सकता है। उदाहरण के लिए - स्कूल में, एक छात्र बिना क्लास के मौजूद नहीं रह सकता।
7) एसोसिएशन
एसोसिएशन दो ऑब्जेक्ट्स के बीच का संबंध है। यह OOP में से एक है Concepts in Java जो वस्तुओं के बीच विविधता को परिभाषित करता है। इस OOP अवधारणा में, सभी वस्तुओं का अपना अलग जीवन चक्र होता है, और कोई स्वामी नहीं होता है। उदाहरण के लिए, कई छात्र एक शिक्षक के साथ जुड़ सकते हैं जबकि एक छात्र कई शिक्षकों के साथ भी जुड़ सकता है।
8) एकत्रीकरण
इस तकनीक में, सभी ऑब्जेक्ट्स का अपना अलग जीवनचक्र होता है। हालाँकि, स्वामित्व ऐसा होता है कि चाइल्ड ऑब्जेक्ट किसी अन्य पैरेंट ऑब्जेक्ट से संबंधित नहीं हो सकता। उदाहरण के लिए क्लास/ऑब्जेक्ट डिपार्टमेंट और टीचर पर विचार करें। यहाँ, एक शिक्षक कई विभागों से संबंधित नहीं हो सकता है, लेकिन भले ही हम विभाग को हटा दें, शिक्षक ऑब्जेक्ट कभी नष्ट नहीं होगा।
9) रचना
कंपोजिशन एग्रीगेशन का एक विशेष रूप है। इसे "मृत्यु" संबंध भी कहा जाता है। चाइल्ड ऑब्जेक्ट्स का अपना जीवनचक्र नहीं होता है, इसलिए जब पैरेंट ऑब्जेक्ट डिलीट होता है तो सभी चाइल्ड ऑब्जेक्ट भी अपने आप डिलीट हो जाते हैं। इसके लिए, आइए हाउस और कमरों का उदाहरण लेते हैं। किसी भी घर में कई कमरे हो सकते हैं। एक कमरा दो अलग-अलग घरों का हिस्सा नहीं बन सकता। इसलिए, अगर आप घर को डिलीट करते हैं तो कमरा भी डिलीट हो जाएगा।
ओ.ओ.पी. (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग सिस्टम) के लाभ:
- उफ़ Concepts in Java कार्यक्रमों के लिए समझने में आसान और स्पष्ट मॉड्यूलर संरचना प्रदान करें।
- ऑब्जेक्ट-ओरिएंटेड प्रोग्राम के लिए बनाए गए ऑब्जेक्ट को दूसरे प्रोग्राम में दोबारा इस्तेमाल किया जा सकता है। इस प्रकार यह विकास लागत में महत्वपूर्ण बचत करता है।
- बड़े प्रोग्राम लिखना कठिन है, लेकिन यदि विकास और डिजाइनिंग टीम ओ.ओ.पी.एस. अवधारणाओं का पालन करती है, तो वे न्यूनतम त्रुटियों के साथ बेहतर डिजाइन कर सकते हैं।
- यह प्रोग्राम की मॉड्यूलरिटी को बढ़ाता है क्योंकि प्रत्येक ऑब्जेक्ट स्वतंत्र रूप से मौजूद होता है।
एक उदाहरण की सहायता से OOPS की अन्य प्रोग्रामिंग शैलियों के साथ तुलना
आइये उदाहरण से समझते हैं कैसे Java उफ़ Concepts अन्य प्रोग्रामिंग दृष्टिकोणों से भिन्न हैं।
प्रोग्रामिंग की भाषाएँ 3 प्राथमिक प्रकारों में वर्गीकृत किया जा सकता है
- असंरचित प्रोग्रामिंग भाषाएँ: सभी प्रोग्रामिंग भाषाओं में सबसे आदिम भाषा जिसमें नियंत्रण का क्रमिक प्रवाह होता है। पूरे प्रोग्राम में कोड दोहराया जाता है
- संरचित प्रोग्रामिंग भाषाएँ: इसमें गैर-क्रमिक नियंत्रण प्रवाह होता है। फ़ंक्शन का उपयोग कोड के पुनः उपयोग की अनुमति देता है।
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग भाषाएँ: डेटा और कार्रवाई को एक साथ जोड़ता है।
क्लिक करें यहाँ उत्पन्न करें यदि वीडियो उपलब्ध न हो
आइये इन तीन प्रकारों को एक उदाहरण से समझते हैं।
मान लीजिए आप एक बैंकिंग सॉफ्टवेयर बनाना चाहते हैं जिसमें निम्न कार्य हों
- डिपॉजिट
- वापस लेने का
- शेष राशि दिखाएं
असंरचित प्रोग्रामिंग भाषाएँ
सभी प्रोग्रामिंग भाषाओं में सबसे प्रारंभिक अनस्ट्रक्चर्ड प्रोग्रामिंग भाषा थी। अनस्ट्रक्चर्ड प्रोग्रामिंग भाषा में बैंकिंग एप्लिकेशन के एक बहुत ही प्राथमिक कोड में दो चर होंगे, एक खाता संख्या और दूसरा खाता शेष के लिए
int account_number=20; int account_balance=100;
मान लीजिए 100 डॉलर जमा किये गये।
account_balance=account_balance+100
इसके बाद आपको खाते का शेष प्रदर्शित करना होगा।
printf(“Account Number=%d,account_number) printf(“Account Balance=%d,account_balance)
अब 50 डॉलर की राशि निकाल ली गयी है।
account_balance=account_balance-50
पुनः, आपको खाते का शेष प्रदर्शित करना होगा।
printf(“Account Number=%d,account_number) printf(“Account Balance=%d,account_balance)
किसी भी आगे जमा या निकासी ऑपरेशन के लिए – आपको बार-बार वही लाइनें दोहरानी होंगी।
संरचित प्रोग्रामिंग
स्ट्रक्चर्ड प्रोग्रामिंग के आगमन के साथ कोड पर दोहराई गई पंक्तियों को फंक्शन या मेथड जैसी संरचनाओं में डाल दिया गया। जब भी जरूरत होती है, फंक्शन को सरल कॉल किया जाता है।
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग
हमारे प्रोग्राम में, हम डेटा से निपट रहे हैं या डेटा पर विशिष्ट ऑपरेशन कर रहे हैं। वास्तव में, डेटा होना और उस डेटा पर कुछ खास ऑपरेशन करना किसी भी सॉफ्टवेयर प्रोग्राम की बहुत बुनियादी विशेषता है। सॉफ्टवेयर प्रोग्रामिंग के विशेषज्ञों ने डेटा और डेटा को मिलाने के बारे में सोचा Operaइसलिए, ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का जन्म हुआ जिसे आम तौर पर OOPS कहा जाता है। ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग भाषाओं में समान कोड में समान डेटा होगा और उस डेटा पर कुछ कार्रवाई की जाएगी।
Class Account{ int account_number; int account_balance; public void showdata(){ system.out.println(“Account Number”+account_number) System.out.println(“Account Balance”+ account_balance) } }
डेटा और क्रिया को मिलाकर, हमें संरचनात्मक प्रोग्रामिंग पर कई लाभ मिलेंगे, जैसे,
- मतिहीनता
- कैप्सूलीकरण
- विरासत
- बहुरूपता
आगामी ट्यूटोरियल में इन पर विस्तार से चर्चा की गई है