What is Polymorphism क्या है Static vs dynamic पॉलीमॉरफिस्म

Static and dynamic Polymorphism in oops with example in hindi

Polymorphism meaning in Hindi: जब C++ लैंग्वेज को डिज़ाइन किया गया था तो उसके साथ कुछ इम्पोर्टेन्ट features को पहली बार introduce किया गया था उनमे से पॉलीमॉरफिस्म एक इम्पोर्टेन्ट feature था | Poly-morphism मे Poly का मतलब होता है बहुत सारे एंड morphism means तरीका या forms तो यहाँ पर Polymorphism का मतलब हुआ Object की बहुत सारी forms मे appear होने की ability| अब प्रोग्रामिंग लैंग्वेज मे इसको इस तरह से कहा जा सकता है – डाटा टाइप के बेस पर अलग अलग तरीको से प्रोसेस होने वाला ऑब्जेक्ट | 

what is Polymorphism in hindi

Polymorphism in hindi

इस प्रकार पॉलीमॉरफिस्म Object Oriented Programming का एक बहुत इम्पोर्टेन्ट concept है जो की ऑब्जेक्ट के बेस पर ऍप्लिकेशन्स के रन टाइम पर व्यवहार को चेंज करता है| इससे सिस्टम मे आसानी से चैंजेस किये जा सकते है वो भी एप्लीकेशन मे चेंज किये बिना| Polymorphism, ऑब्जेक्ट को उसके डाटा टाइप or क्लास के बेस पर अलग अलग तरीके से process कर सकता है | इसके साथ साथ यह प्रोग्रामिंग feature की वो ability है जो की derived classes के methods को redefine कर सकती है | 

पॉलीमॉरफिस्म को समझने के लिए एक सामान्य लाइफ उदहारण लेते है – Car का example लेते है – एक कार मे गियर ट्रांसमिशन सिस्टम होता है एवं इसमें चार सामने के एंड एक पीछे का गियर होता है जब इंजन स्टार्ट करने पर गियर लगाया जाता है तो एक कॉमन एक्शन परफॉर्म होता है – गियर लगाना | कार को कितनी पावर देनी है एवं कितनी मूवमेंट करना है ये गियर पर निर्भर करता है | यहाँ पर गाडी के लिए एक्शन कॉमन है की गियर apply करना लेकिन गियर के बेस पर function अलग अलग है  – अलग अलग गियर के अनुसार अलग अलग पावर एंड मूवमेंट करना है|

Read Also – What is Inheritance 

पॉलीमॉरफिस्म को दो तरीको से अप्लाई किया जा सकता है –स्टैटिक and डायनामिक| Static polymorphism मे मेथड Overloading एवं डायनामिक polymorphism मे मेथड overriding होता है |

A. Compile time polymorphism (Static): यह फंक्शन या ऑपरेटर ओवरलोडिंग से achieve किया जाता है| Overloading मे एक से जयदा methods का same नाम होता है लेकिन argument के base पर differently behave करते है। इसको static polymorphism बोलते है क्योकि कौनसा method स्टार्ट करना है यह compilation time पर decide होता है। 

  1. Operator Overloading: ऑपरेटर ओवरलोडिंग को एक उदाहरण से समझते है – एक ‘+’ ओपेरटर को दो स्ट्रिंग को जोड़ने के साथ दो वैल्यूज का sum करने के लिए भी उपयोग कर सकते है। See example below –
  2. Function Overloading: जब बहुत सारे functions same नाम से होते है लेकिन वो अलग अलग parameters accept करते है तो ऐसे function overloaded कहलाते है। Functions तब ओवरलोड होते है जब फंक्शन्स मे उपयोग आने वाले पैरामीटर्स की सख्या या फिर पैरामीटर्स अलग अलग टाइप के उपयोग मे लिए जाते है।

Example of overloading polymorphism : + (plus) operator in C++:

2 + 7 <– integer addition
4.21 + 4.1 <– floating point addition
b1 + “cat” <– string concatenation!

B. Runtime polymorphism (Dynamic) : यह फंक्शन overriding से achieve किया जाता है| Overriding मे derived class अपनी सुपरक्लास के मेथड को implement करती है। इसको runtime बोलते है क्योकि यह मेथड runtime पर invoke होते है । 

Read Also – What is c programming language

Read Also – What is PHP Programming Language

Read Also – What is JAVA Programming Language 

One more Example of Polymorphism: मान लेते है की एक बेस class है जिसका नाम एनिमल्स है एवं जिसकी subclass फिश एंड बर्ड है | एनिमल्स क्लास मे एक फंक्शन है जिसका नाम है मूव जिसको एनिमल क्लास की सभी subclasses inherit करती है | polymorphism मे हर सबक्लास के फंक्शन्स को इम्प्लीमेंट करने के अपने तरीके हो सकते है | जैसे जब मूव फंक्शन को फिश क्लास के ऑब्जेक्ट से कॉल किया जाता है, ये तो स्क्रीन पर स्विमिंग जबकि दूसरी तरफ बर्ड ऑब्जेक्ट से कॉल करने पर फ्लाइंग रिजल्ट डिस्प्लै करेगा|

Leave a Reply