ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग बनाम प्रक्रियात्मक प्रोग्रामिंग – क्या उन्हें अलग बनाता है?

प्रोग्रामिंग एक विशाल क्षेत्र है और यह लगातार विकसित हो रहा है। आज उपलब्ध कई अलग-अलग तकनीकों और रूपरेखाओं के साथ, शुरुआती लोग बुनियादी बातों के माध्यम से भागते हैं। यह कोई रहस्य नहीं है कि एक सफल प्रोग्रामर बनने के लिए, आपको मूलभूत बातों की पूरी समझ होनी चाहिए, चाहे आप किसी भी भाषा या ढांचे में काम कर रहे हों।

ऐसा ही एक मौलिक है मुख्य प्रोग्रामिंग प्रतिमानों (मॉडल) को समझना और वे कैसे भिन्न हैं। आज, हम प्रक्रियात्मक और वस्तु-उन्मुख प्रोग्रामिंग पर करीब से नज़र डालेंगे और देखेंगे कि उन्हें क्या अलग करता है।

प्रक्रियात्मक प्रोग्रामिंग

प्रक्रियात्मक प्रोग्रामिंग मॉडल संरचित प्रोग्रामिंग से लिया गया है और चयन, पुनरावृत्ति और अनुक्रमों का भी उपयोग करता है। प्रक्रियात्मक प्रोग्रामिंग कंप्यूटर को चरणों की एक श्रृंखला में क्या करना है, यह निर्देश देने के लिए प्रक्रियाओं का उपयोग करती है।

इन प्रक्रियाओं को फ़ंक्शंस, रूटीन या सबरूटीन के रूप में भी संदर्भित किया जा सकता है। कोई प्रोग्राम या उसका कोई भाग किसी भी रूटीन को उसके निष्पादन के दौरान किसी भी समय कॉल कर सकता है।

प्रक्रियात्मक प्रोग्रामिंग को "इनलाइन प्रोग्रामिंग" के रूप में भी जाना जाता है, और यह निर्देशों को निष्पादित करने और समस्याओं को हल करने के लिए एक टॉप-डाउन दृष्टिकोण लेता है। एक साधारण प्रोग्राम जो विभिन्न कार्यों के लिए कितने भी रूटीन को कॉल करता है, एक प्रक्रियात्मक प्रोग्रामिंग दृष्टिकोण का उपयोग करने के लिए कहा जा सकता है।

वस्तु उन्मुख कार्यकर्म

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग एक आकर्षक प्रोग्रामिंग मॉडल है जो ऑब्जेक्ट्स की अवधारणा का उपयोग करता है। यह तर्क और कार्यों के बजाय वस्तुओं या डेटा के आसपास सॉफ्टवेयर डिजाइन का आयोजन करता है। नतीजतन, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग का उपयोग करने वाले डेवलपर्स का उद्देश्य प्रोग्राम लॉजिक के बजाय ऑब्जेक्ट्स में हेरफेर करना है।

बड़े और जटिल कार्यक्रमों को अक्सर वस्तु-उन्मुख कार्यक्रमों के रूप में डिजाइन किया जाता है क्योंकि यह पुन: प्रयोज्य, दक्षता, मापनीयता और सहयोगी विकास में काफी सुधार करता है। एंड्रॉइड और आईओएस मोबाइल ऐप आमतौर पर जावा जैसी ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं के साथ डिज़ाइन किए जाते हैं। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग डेटा एब्स्ट्रैक्शन, एनकैप्सुलेशन, इनहेरिटेंस और पॉलीमॉर्फिज्म के सिद्धांतों का उपयोग करती है

अब एक वस्तु-उन्मुख कार्यक्रम की संरचना पर एक नज़र डालें।

संबंधित: ऑब्जेक्ट एनकैप्सुलेशन के साथ अपने कोड को कैसे साफ रखें?

प्रत्येक ऑब्जेक्ट-ओरिएंटेड प्रोग्राम में कम से कम एक क्लास होता है जिससे ऑब्जेक्ट संबंधित होता है और ऑब्जेक्ट जो क्लास इंस्टेंस होते हैं। प्रत्येक वस्तु की विशेषताओं का अपना सेट होता है जिसमें डेटा होता है। प्रत्येक वर्ग में ऐसे तरीके या कार्य भी होंगे जिन्हें आप एक विशिष्ट ऑपरेशन करने के लिए प्रत्येक ऑब्जेक्ट पर कॉल कर सकते हैं।

ऊपर, हमने एक छोटे से शहर में पंजीकृत कारों का एक साधारण वस्तु-उन्मुख कार्यक्रम बनाया है। प्रत्येक कार का अपना विशिष्ट मेक, मॉडल, रंग, इंजन क्षमता और पंजीकरण संख्या होती है। उपरोक्त नमूना कोड में, वर्ग कार है , और इस वर्ग के प्रत्येक उदाहरण में विशेषताओं का एक अनूठा सेट होगा। हमने कार के बिक जाने की स्थिति में रजिस्ट्रेशन नंबर को अपडेट करने के लिए अपडेट रजिस्ट्रेशन मेथड्स नामक एक विधि भी बनाई है।

क्या फर्क पड़ता है?

अब जब आपको इन दो प्रोग्रामिंग प्रतिमानों की अच्छी समझ हो गई है, तो आइए उनके महत्वपूर्ण अंतरों पर करीब से नज़र डालें। प्रक्रियात्मक प्रोग्रामिंग में, मुख्य कार्यक्रम को छोटे वर्गों में विभाजित किया जाता है, जिन्हें फ़ंक्शन के रूप में जाना जाता है, जबकि ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में, प्रोग्राम को ऑब्जेक्ट्स में विभाजित किया जाता है।

प्रक्रियात्मक प्रोग्रामिंग के विपरीत, ऑब्जेक्ट-ओरिएंटेड प्रोग्राम बॉटम-अप दृष्टिकोण का उपयोग करते हैं।

ऑब्जेक्ट-ओरिएंटेड प्रोग्राम में एक्सेस स्पेसिफायर के उपयोग में एक महत्वपूर्ण अंतर निहित है। एक्सेस स्पेसिफायर डेटा को अनधिकृत एक्सेस से बचाते हैं और ऊपर बताए गए डेटा एनकैप्सुलेशन सिद्धांत के कार्यान्वयन हैं। डेटा एनकैप्सुलेशन और एब्स्ट्रैक्शन सिद्धांतों के कारण, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में डिज़ाइन किए गए प्रोग्राम बहुत अधिक सुरक्षित और वास्तविक दुनिया पर आधारित होते हैं।

लगभग सभी प्रोग्रामिंग भाषाएं संरचित प्रोग्रामिंग का समर्थन करती हैं; लोकप्रिय लोगों में सी, फोरट्रान और बेसिक शामिल हैं। वैकल्पिक रूप से, C++, Java, C#, और Python कुछ लोकप्रिय वस्तु-उन्मुख प्रोग्रामिंग भाषाएं हैं जिनका उपयोग वास्तविक दुनिया में किया जाता है।

बुनियादी बातों को समझें

आज, कई नवागंतुक केवल रिएक्ट या Node.js जैसे लोकप्रिय ढांचे को सीखने पर ध्यान केंद्रित करते हैं और मुख्य प्रोग्रामिंग अवधारणाओं जैसे ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग और डेटा संरचनाओं की पूरी तरह से अवहेलना करते हैं। साक्षात्कारकर्ता अक्सर ऐसे प्रश्न पूछते हैं जिनमें बुनियादी प्रोग्रामिंग अवधारणाएं शामिल होती हैं, जो आपके लिए एक समस्या हो सकती है यदि आप प्रोग्रामिंग के मूल सिद्धांतों से परिचित नहीं हैं।