अगर हम कंप्युटर साइंस, प्रोग्रामिंग के क्षेत्र मे जब हम नए होते है तब हमें काफी सारे अलग अलग प्रोग्रामिंग के Concepts जैसे – Data Structure, Algorithm इत्यादि के बारे मे पता चलता है इन्ही मे से कंप्युटर प्रोग्रामिंग का एक बेहद ही महत्वपूर्ण Concept हैं जिसे हम OOP यानी ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के नाम से जानते है।
यह एक ऐसा Concept हैं जिसके तहत हमे object के साथ काम करना होता है, यह प्रोग्रामिंग का सबसे कठिन भागों मे से एक हैं। अगर आप कंप्युटर प्रोग्रामिंग मे नए हैं तो आपको इस विषय मे बिल्कुल भी जानकारी नहीं होगी की ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग क्या है, लेकिन अगर आप कंप्युटर प्रोग्रामिंग को Advance level मे समझना चाहते हैं तो इसे भी जानना होगा।
वैसे तो अगर हम देखे तो कंप्युटर प्रोग्रामिंग मे कई सारे ऐसे Concepts हैं जिन्हे समझना काफी ज्यादा कठिन होता हैं, लेकिन अगर हम उन Concepts को समझ जाते हैं तो हम बड़ी आसानी से कंप्युटर प्रोग्रामिंग को सिख सकते है। ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग मे Java जैसे महत्वपूर्ण प्रोग्रामिंग भाषाये भी आती है।
इसीलिए हमें ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग को समझना और ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग क्या है? यह जानना जरूरी है। तो चलिए अब हम इस बारे मे विस्तार से जानने की शुरुआत करते है।
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग क्या है – What is OOP in Hindi
बहुत सारे लोग ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग को एक प्रकार का प्रोग्रामिंग भाषा समझते हैं लेकिन ऐसा बिल्कुल भी नही हैं यह एक प्रकार का Model है जिसका इस्तेमाल Codes को लिखने के लिए किया जाता है। इसके तहत Functions और Actions का उपयोग नहीं किया जाता है बल्कि Objects का उपयोग किया जाता है। इसमे Objects एक प्रकार का Data एवं Methods होता है।
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के तहत सभी समस्याओ को एक Object के रूप मे लिया जाता हैं, जिससे उन्हे समझकर हल करना आसान हो जाता है। इसमे System को बहुत सारे Data का संग्रह माना जाता है जो की किसी भी Task को पूरा करने के लिए एक दूसरे के साथ आपस मे Interact करते हैं।
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग को अगर हम आसान भाषा मे समझे तो यह कंप्युटर प्रोग्राम्स को लिखने का एक तरीका यानी Model है जिसमे Objects का उपयोग किया जाता है, यह objects एक प्रकार का Data और Methods होते है एवं यह Objects जानकारी का ऐसा संग्रह होता है जिसे Singular Entity की तरह Treat किया जाता हैं।
इसमे Pre objects के रूप मे Classes होते है, जिसमे Attributes का सूची होता हैं और जब इन सभी Attributes को परिभाषित कर दिया जाता है तब यह एक प्रकार का Objects बन जाते है मतलब ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग कंप्युटर प्रोग्राम्स को लिखने का सिर्फ एक तरीका है।
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के उदाहरण (Examples)
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के उदाहरण के तौर पर आज के समय मे कई सारे प्रसिद्ध प्रोग्रामिंग भाषाएं हैं जो की निम्नलिखित हैं –
1. Java
जावा एक बेहद ही प्रसिद्ध प्रोग्रामिंग भाषा है जिसका इस्तेमाल Application, Software के क्षेत्र मे किया जाता है, यह ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग पर आधारित हैं।
2. Python
यह एक बहुत ही शक्तिशाली कंप्युटर प्रोग्रामिंग भाषा है जिसका उपयोग अनेक क्षेत्रों मे किया जाता है यह भी ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग पर आधारित है।
3. Ruby
यह एक सामान्य उद्देश्य वाला एवं ओपन सोर्स प्रोग्रामिंग भाषा है, यह भी ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग पर आधारित प्रोग्रामिंग भाषा है।
4. C#
यह एक बेहद पॉपुलर प्रोग्रामिंग भाषा हैं जिसका उपयोग Web Application, Windows Program बनाने मे किया जाता है यह भी ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग पर आधारित है।
5. C++
यह प्रोग्रामिंग के क्षेत्र मे बेहद ही महत्वपूर्ण प्रोग्रामिंग भाषा है जो की ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग पर आधारित है।
इसके अलावा और भी कई सारी प्रोग्रामिंग भाषाये है जो ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग Supportable हैं।
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का Structure
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के अलग अलग Structure होते है, जिन्हे समझना बेहद जरूरी हैं जो की निम्नलिखित है –
1. Classes.
यह एक प्रकार का यूजर Defined Data Type है जो की Attributes, Methods, Individual objects के लिए Blueprint की तरह Work करती है।
2. Methods
यह कुछ इस तरह के Functions होते है जो Class के अंदर define होते है और Objects के व्यवहार को Describe करते है।
3. Attributes
यह Class Templets मे परिभाषित होते है और किसी Objects के State को Represent करते है।
4. Objects
यह एक class का उदाहरण होता है इसे हम Data Structure भी कह सकते है, मतलब एक Class के अंदर कई सारे Objects मौजूद हो सकते है।
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग Principles
अगर हम ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के Principles की बात करे तो इसके मुख्यतः चार principles होते है जो की निम्नलिखित है –
1. Encapsulation
यह objects के अंदर संबंधित Variables, Methods को स्टोर रखता है और उन्हे सुरक्षा प्रदान करता है।
2. Abstraction
यह Objects के inner workings को Hide रखता है जब उन्हे देखना जरूरी न हो।
3. Polymorphism
यह Objects को Methods को अलग तरीके से उपयोग करने की अनुमति देता है।
4. Inheritance
यह Childs Objects को Parent Objects से Attributes उपयोग करने की अनुमति देता है।
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के फायदे (Advantages)
अगर हम देखे तो Procedure ओरिएंटेड प्रोग्रामिंग के मुकाबले ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग कई सारे फायदे है जो की निम्नलिखित है –
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग काफी अधिक Flexible होते है।
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग मे कोड को Maintain कर के रखना काफी ज्यादा आसान है।
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग बहुत ही अधिक सुरक्षित होते है। जिसके वजह से इसमे सुरक्षा से संबंधित बहुत ही कम खतरे होते है।
- इसके अंदर एक प्रोग्राम के अलग अलग Part Separately develop हो सकते है।
- यह Applications को objects और Classes मे तोड़ देती है जिससे Application को अधिक Modular Structure मिल पाता है।
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग नुकसान (Disadvantages)
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के बहुत ही अधिक फायदे है लेकिन इसके कुछ नुकसान भी है जो की निम्नलिखित है –
- इसमे Efficient प्रोग्राम बनाने के लिए ठोस Plan होना बेहद ही आवश्यक है।
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के कोड लिखने मे थोड़े कठिन होते है।
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के कोड को Compile करने मे अधिक समय लगता है।
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग भाषाये अन्य प्रोग्रामिंग भाषाओ की तरह Transparent नहीं होती है।
निष्कर्ष
अब आप सभी के साथ हमने ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग से संबंधित समस्त जानकारी साझा कर दी है, उम्मीद हैं की आप सभी लोगों ने इस लेख मे दी गई समस्त जानकारी को ध्यानपूर्वक पढ़कर यह जान लिया होगा की ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग क्या है (What is Object Oriented Programing in Hindi) और इस लेख को पढ़कर बहुत कुछ नया सिखा होगा।
अगर आप सभी के मन मे किसी भी प्रकार के इस लेख और इंटरनेट से संबंधित कोई भी सवाल है तो उसे Comment मे लिखकर अवश्य पूछे और इस लेख को Social Platforms जैसे Twitter, Facebook इत्यादि पर भी जरूर साझा कीजिए।