Product Design, Manufacturing & Innovation Resources
घर » बहुरूपता (प्रोग्रामिंग)

बहुरूपता (प्रोग्रामिंग)

1967
  • Christopher Strachey
Computer programming workspace demonstrating polymorphism with code snippets.

(यह छवि केवल उदाहरण के लिए बनाई गई है)

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

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

उदाहरण के लिए, 'शेप' नामक एक सुपरक्लास पर विचार करें जिसमें 'calculateArea()' नामक एक विधि है। 'सर्कल' और 'रेक्टेंगल' जैसी सबक्लास 'शेप' से इनहेरिट कर सकती हैं और 'calculateArea()' के अपने विशिष्ट कार्यान्वयन प्रदान कर सकती हैं। एक प्रोग्राम में 'शेप' ऑब्जेक्ट्स की एक सूची हो सकती है, जिसमें 'सर्कल' और 'रेक्टेंगल' दोनों इंस्टेंसेस शामिल हों। सूची में इटरेट करते समय और प्रत्येक एलिमेंट पर 'calculateArea()' को कॉल करते समय, प्रत्येक शेप के लिए सही फ़ॉर्मूला स्वचालित रूप से उपयोग किया जाएगा। इससे प्रत्येक ऑब्जेक्ट के प्रकार की जाँच करने के लिए लंबे "if-else" या "switch" स्टेटमेंट की आवश्यकता समाप्त हो जाती है, जिससे कोड अधिक स्वच्छ और विस्तार योग्य बनता है। नए आकार उन्हें संसाधित करने वाले कोड को संशोधित किए बिना सिस्टम में जोड़े जा सकते हैं।

UNESCO Nomenclature: 1203
कंप्यूटर विज्ञान

Type

सार प्रणाली

व्यवधान

इंक्रीमेंटल

उपयोग

व्यापक उपयोग

शगुन

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

आवेदन

  • एक ही 'draw()' विधि का उपयोग करके विभिन्न आकृतियाँ ('वृत्त', 'वर्ग') बनाना।
  • एक सामान्य ‘print()’ फ़ंक्शन का उपयोग करके विभिन्न प्रकार के दस्तावेज़ों (‘‘pdf’, ‘Word’) को संसाधित करना।
  • कार्यान्वयन प्रयोक्ता इंटरफ़ेस इवेंट हैंडलर
  • सामान्य संग्रह जो विभिन्न लेकिन संबंधित प्रकार की वस्तुओं को धारण कर सकते हैं
  • निर्भरता इंजेक्शन फ्रेमवर्क

पेटेंट:

NA

संभावित नवाचार विचार

  • एक सामान्य इंटरफ़ेस का उपयोग करके प्लग करने योग्य डेटा सीरियलाइज़ेशन प्रारूप (जैसे, json, xml, protobuf)
  • ऑपरेटिंग सिस्टम में विभिन्न हार्डवेयर के लिए सामान्य डिवाइस ड्राइवर
  • विनिमेय एल्गोरिदम के लिए रणनीति डिजाइन पैटर्न
  • ग्राफिक्स इंजन में सार्वभौमिक रेंडरिंग पाइपलाइन जो विभिन्न प्रकार की सामग्रियों को संभालती हैं
  • मिडलवेयर सिस्टम जो विभिन्न प्रकार के नेटवर्क अनुरोधों को संसाधित करते हैं
  • विभिन्न भुगतान विधियों (क्रेडिट कार्ड, पेपाल, क्रिप्टोकरेंसी) को संभालने वाले वित्तीय लेनदेन प्रोसेसर
  • ए/बी टेस्टिंग फ्रेमवर्क जो विभिन्न यूजर इंटरफेस घटकों को बदल सकते हैं
  • डेटा प्रोसेसिंग पाइपलाइन जो विभिन्न डेटा स्रोतों (डेटाबेस, एपीआई, फ़ाइलें) से जुड़ सकती हैं
  • रोबोटिक नियंत्रण प्रणाली जो एक एकीकृत एपीआई के माध्यम से विभिन्न प्रकार के एक्चुएटर्स को संचालित कर सकती है
  • सुरक्षा ढांचे में विनिमेय क्रिप्टोग्राफिक एल्गोरिदम प्रदाता
संबंधित विषय: बहुरूपता, ओवरराइडिंग, डायनेमिक डिस्पैच, लेट बाइंडिंग, सबटाइप, इंटरफ़ेस, एब्स्ट्रैक्शन, ओओपी, मेथड ओवरराइडिंग, रनटाइम।

ऐतिहासिक संदर्भ

बहुरूपता (प्रोग्रामिंग)

1956
1960
1967
1967
1970
1970
1970
1953
1960
1960
1967
1970
1970
1970
1970

(यदि तिथि अज्ञात है या प्रासंगिक नहीं है, उदाहरण के लिए "द्रव यांत्रिकी", तो इसके उल्लेखनीय उद्भव का एक अनुमानित आंकड़ा प्रदान किया गया है)

नवीनतम परिवर्धन

शीर्ष पोस्ट और लेख

शीर्ष मूल उपकरण

10वां वर्ष सालगिरह

पंजीकृत सदस्यों के लिए पूर्ण आकार की छवियाँ और डाउनलोड 100% निःशुल्क उपलब्ध हैं।