ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग क्या है? [What is Object Oriented Programming (OOP)? In Hindi]
Object Oriented Programming (OOP) एक प्रोग्रामिंग प्रतिमान है जो कक्षाओं और वस्तुओं की अवधारणा पर निर्भर करता है। इसका उपयोग एक सॉफ्टवेयर प्रोग्राम को कोड ब्लूप्रिंट (आमतौर पर Class कहा जाता है) के सरल, पुन: प्रयोज्य टुकड़ों में करने के लिए किया जाता है, जिसका उपयोग वस्तुओं के अलग-अलग उदाहरण बनाने के लिए किया जाता है। जावास्क्रिप्ट, सी ++, जावा और पायथन सहित कई ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाएं हैं।
एक वर्ग एक Abstract blueprint है जिसका उपयोग अधिक विशिष्ट, ठोस वस्तुओं को बनाने के लिए किया जाता है। Class अक्सर व्यापक श्रेणियों का प्रतिनिधित्व करती हैं, जैसे car या dog जो विशेषताओं को साझा करते हैं। ये वर्ग परिभाषित करते हैं कि इस प्रकार के उदाहरण में कौन सी विशेषताएँ होंगी, जैसे color, लेकिन किसी विशिष्ट वस्तु के लिए उन विशेषताओं का मान नहीं।
Class में फ़ंक्शन भी हो सकते हैं, जिन्हें केवल उस प्रकार की वस्तुओं के लिए उपलब्ध विधियाँ कहा जाता है। इन कार्यों को कक्षा के भीतर परिभाषित किया गया है और उस विशिष्ट प्रकार की वस्तु के लिए उपयोगी कुछ क्रियाएँ करते हैं।
प्रक्रिया-उन्मुख प्रोग्रामिंग (पीओपी) पर ओओपी के लाभ [Advantages of OOP over Process-Oriented Programming (POP)]
ओओपी की मदद से, पीओपी की तुलना में सॉफ्टवेयर को विकसित करना और बनाए रखना आसान होगा। जब परियोजना के आकार में वृद्धि के साथ-साथ कोड बढ़ता है तो प्रक्रिया-उन्मुख प्रोग्रामिंग भाषा के लिए यह मुश्किल होगा। ओओपी में डेटा छिपाना सक्षम है जबकि वैश्विक डेटा को प्रक्रिया-उन्मुख प्रोग्रामिंग भाषा का उपयोग करके कहीं भी एक्सेस किया जा सकता है। इसलिए यह प्रक्रिया जोखिम भरी है। ओओपी के साथ वास्तविक दुनिया की घटना को प्रभावी ढंग से अनुकरण (Simulation) करना आसान है। इस प्रकार, इस पद्धति का उपयोग करके वास्तविक-शब्द की समस्या को हल किया जा सकता है। ओओपी की तुलना में प्रक्रिया-उन्मुख प्रोग्रामिंग भाषा कम प्रभावी है।
ओओपी अवधारणाएं (OOP Concept) हैं:
- वस्तुएँ (Object): वस्तुएँ ऐसी संरचनाएँ हैं जिनमें डेटा और प्रक्रियाएँ दोनों शामिल हैं। उदाहरण के लिए, एक छात्र एक वस्तु है जिसका नाम और उम्र है,
- कक्षा (Class): एक वर्ग एक टेम्पलेट है जो किसी वस्तु के विवरण की व्याख्या करता है,
- वंशानुक्रम (Inheritance): वंशानुक्रम मौजूदा कोड का बार-बार पुन: उपयोग करने की एक तकनीक है। जिस वर्ग को विरासत में मिला है उसे आधार वर्ग कहा जाता है और जिस वर्ग को यह विरासत में मिलता है उसे व्युत्पन्न वर्ग कहा जाता है,
- बहुरूपता (Polymorphism): बहुरूपता का अर्थ है कई, जो एक ही ऑपरेशन को अलग-अलग प्रदर्शन करने का अनुरोध कर रहे हैं,
- एब्स्ट्रैक्शन (Abstraction): यह केवल एप्लिकेशन की आवश्यक विशेषताओं को प्रदर्शित करने और विवरणों को कवर करने के लिए संदर्भित करता है,
- एनकैप्सुलेशन (Encapsulation): इसका अर्थ है डेटा और कार्यों को एक साथ एक कक्षा में लपेटना।
thanks
ReplyDelete