Polymorphism in Hindi: पॉलीमोरफ़िज्म एक object-oriented प्रोग्रामिंग अवधारणा है जो एक variable, function या object की कई रूपों को लेने की क्षमता को संदर्भित करती है। इसका मतलब है कि Polymorphism कई डेटा प्रकारों के लिए एक इंटरफ़ेस की प्रस्तुति है।
बहुरूपता (Polymorphism) को अक्सर इनकैप्सुलेशन और इनहेरिटेंस के बाद ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के तीसरे स्तंभ के रूप में जाना जाता है।
इस लेख में, आप समझेंगे कि वास्तव में Polymorphism क्या है उदाहरण के साथ, पॉलीमोरफ़िज्म के प्रकार और इसके फायदे आदि। तो आइए पॉलीमोरफ़िज्म को समझना शुरू करते है –
नोट: पॉलीमोरफ़िज्म को अच्छी तरह से समझने के लिए सबसे पहले प्रोग्रामिंग भाषा और इसके प्रकार को समझें, फिर ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा और इनहेरिटेंस क्या है को समझ लें।
Table of Contents
पॉलीमोरफ़िज्म क्या है (What is Polymorphism in Hindi)

पॉलीमोरफ़िज्म इस अवधारणा का वर्णन करता है कि आप एक ही इंटरफ़ेस के माध्यम से विभिन्न प्रकार की वस्तुओं (objects) तक पहुँच सकते हैं। प्रत्येक प्रकार इस इंटरफ़ेस का अपना स्वतंत्र कार्यान्वयन प्रदान कर सकता है।
मूल रूप से, Polymorphism ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) की मुख्य अवधारणाओं में से एक है और उन स्थितियों का वर्णन करती है जिनमें कुछ अलग-अलग रूपों में होता है।
उदाहरण के लिए, floats, integers और doubles परोक्ष रूप से बहुरूपी (polymorphic) हैं: उनके विभिन्न प्रकारों की परवाह किए बिना, उन सभी को जोड़ा, घटाया, गुणा किया जा सकता है, और इसी तरह।
यह जानने के लिए कि क्या कोई object बहुरूपी है, आप एक साधारण परीक्षण कर सकते हैं। यदि object सफलतापूर्वक एकाधिक IS-A या instance का परीक्षण पास करती है, तो यह polymorphic है।
OOP के मामले में, class को अपने कोड के साथ-साथ अपने स्वयं के डेटा के लिए जिम्मेदार बनाकर, polymorphism प्राप्त की जा सकती है कि प्रत्येक वर्ग (class) का अपना कार्य (function) होता है (जिसे एक बार कहा जाता है) किसी भी object के लिए ठीक से व्यवहार करता है।
पॉलीमोरफ़िज्म का अर्थ – Polymorphism Meaning in Hindi
‘Polymorphism‘ शब्द दो ग्रीक शब्दों ‘poly‘ से बना है जिसका अर्थ है कई और ‘morphos‘ जिसका अर्थ है रूप। तो, बहुरूपता (polymorphism) का अर्थ है कई रूप लेने की क्षमता।
मूल रूप से, पॉलीमोरफ़िज्म का अर्थ है “कई रूप“, और यह तब होता है जब हमारे पास कई वर्ग होते हैं जो inheritance द्वारा एक दूसरे से संबंधित होते हैं।
पिछले अध्याय में; Inheritance हमें किसी अन्य वर्ग से attributes और विधियों को प्राप्त करने देता है। Polymorphism विभिन्न कार्यों को करने के लिए उन विधियों का उपयोग करती है। यह हमें एक ही क्रिया को विभिन्न तरीकों से करने की अनुमति देता है।
पॉलीमोरफ़िज्म एक बहुत शक्तिशाली अवधारणा है जो आपको आश्चर्यजनक रूप से लचीले अनुप्रयोगों को डिज़ाइन करने की अनुमति देती है।
सरल शब्दों में, Polymorphism को एक-इंटरफ़ेस एकाधिक विधियों के रूप में परिभाषित किया जा सकता है जिसका अर्थ है कि एक इंटरफ़ेस का उपयोग विभिन्न लेकिन संबंधित गतिविधियों को करने के लिए किया जा सकता है।
पॉलीमोरफ़िज्म का उदाहरण – Example of Polymorphism
उदाहरण के लिए, Bikes
नामक एक superclass के बारे में सोचें जिसमें BestBikes()
नामक एक विधि (method) है। Bikes के Subclasses KTM और Enfield हो सकते हैं, और उनके पास Best Bikes का अपना कार्यान्वयन भी है:
class Bikes { public void BestBikes() { System.out.println("The Best Bikes"); } } class KTM extends Bikes { public void BestBikes() { System.out.println("KTM says: I'm the Best!"); } } class Enfield extends Bikes { public void BestBikes() { System.out.println("Enfield says: Hell, I'm the Best!"); } } class Main { public static void main(String[] args) { Bikes myBikes = new Bikes(); //Create a Bikes object Bikes myKTM = new KTM(); //Create a KTM object Bikes myEnfield = new Enfield(); ///Create a Enfield object myBikes.BestBikes(); myKTM.BestBikes(); myEnfield.BestBikes(); } }
Output:
पॉलीमोरफ़िज्म के प्रकार – Types of Polymorphism
Polymorphism मुख्य रूप से दो प्रकार के होते हैं:
- संकलन समय बहुरूपता (Compile-time polymorphism)।
- रनटाइम पॉलीमोरफ़िज्म (Runtime polymorphism)।
आइए इन दोनो प्रकार के को अच्छी तरह से समझते है –
#1. संकलन समय पॉलीमोरफ़िज्म (Compile time polymorphism)
संकलन-समय पॉलीमोरफ़िज्म एक पॉलीमोरफ़िज्म है जिसे संकलन प्रक्रिया के दौरान हल (resolve) किया जाता है। इसे Static पॉलीमोरफ़िज्म के रूप में भी जाना जाता है।
मूल रूप से, Compile-time पॉलीमोरफ़िज्म विधि overloading के माध्यम से प्राप्त की जाती है। टर्म मेथड ओवरलोडिंग हमें एक ही नाम के साथ एक से अधिक विधि रखने की अनुमति देता है। चूँकि यह प्रक्रिया संकलन समय के दौरान निष्पादित होती है, इसलिए इसे संकलन-समय पॉलीमोरफ़िज्म के रूप में जाना जाता है।
#2. रनटाइम पॉलीमोरफ़िज्म (Runtime polymorphism)
रनटाइम पॉलीमोरफ़िज्म, जिसे Dynamic मेथड डिस्पैच के रूप में भी जाना जाता है, एक ऐसी प्रक्रिया है जो रनटाइम पर एक overriding विधि के लिए call को हल करती है। प्रक्रिया में overriding विधि के लिए कॉल करने के लिए superclass के संदर्भ चर (variable) का उपयोग शामिल है।
सरल शब्दों में, जब एक पॉलीमोरफ़िज्म किसी विधि को कॉल करने के लिए सूचना प्राप्त करता है और वह रनटाइम में होती है, तो इसे रनटाइम पॉलीमोरफ़िज्म कहा जाता है।
पॉलीमोरफ़िज्म के लाभ (Advantages of Polymorphism)
Polymorphism का मुख्य लाभ यह है कि यह एक ही नाम को विभिन्न कार्यों को करने की अनुमति देकर जटिलता को कम करता है।
यहाँ polymorphism के कुछ प्रमुख लाभ हैं:
- पॉलीमोरफ़िज्म से कार्यक्रम का रखरखाव आसान हो जाता है।
- यह व्यापक रूप से वर्ग वस्तुओं को संभालने के लिए उपयोग किया जाता है।
- प्रोग्रामर के कोड को पॉलिमॉर्फिज्म के जरिए दोबारा इस्तेमाल किया जा सकता है।
- यह एकाधिक डेटा प्रकारों के लिए एकल चर नाम का समर्थन करता है।
- विभिन्न कार्यों के बीच युग्मन को कम करता है।
कोडिंग सीखें हिंदी में – Learn Coding
यदि आप कोडिंग सीखना चाहते हैं तो कोडिंग सीखने के बारे में हमारी विस्तृत मार्गदर्शिका यहां दी गई है:
निष्कर्ष
प्रोग्रामिंग शब्दों में, इसका अर्थ वह क्षमता है जिसके द्वारा दिए गए प्रकार के एकल चर का उपयोग विभिन्न प्रकार की वस्तुओं को संदर्भित करने के लिए किया जा सकता है और स्वचालित रूप से उस विधि को कॉल करने के लिए जो object के प्रकार के लिए चर संदर्भों के लिए विशिष्ट है।
यह एक एकल विधि कॉल को उस वस्तु के प्रकार के आधार पर अलग-अलग व्यवहार करने में सक्षम बनाता है जिस पर कॉल लागू होता है।
मुझे उम्मीद है कि यह लेख “Polymorphism in Hindi”, आपको यह समझने में मदद करता है कि वास्तव में पॉलीमोरफ़िज्म क्या है, उदाहरणों के साथ पॉलीमोरफ़िज्म का अर्थ, इसके विभिन्न प्रकार और पॉलीमोरफ़िज्म के फायदे आदि।