Polymorphism ओवरराइडिंग के माध्यम से हासिल किया जा सकता है। संक्षेप में शब्दों में डालें, बहुरूपता किसी वस्तु की अपनी प्रकृति के आधार पर अलग-अलग व्यवहार (विभिन्न कार्यान्वयन का उपयोग) प्रदान करने की क्षमता को संदर्भित करती है। विशेष रूप से, वर्ग पदानुक्रम में अपनी स्थिति के आधार पर।
Method Overriding तब होता है जब सुपरक्लास या इंटरफेस में परिभाषित एक विधि को इसके उप-वर्गों में से एक द्वारा फिर से परिभाषित किया जाता है, इस प्रकार सुपरक्लास प्रदान करने वाले व्यवहार को संशोधित/प्रतिस्थापित करता है। कार्यान्वयन या किसी अन्य को कॉल करने का निर्णय रनटाइम पर गतिशील रूप से लिया जाता है, ऑपरेशन को ऑब्जेक्ट के आधार पर कहा जाता है। ध्यान दें कि विधि के हस्ताक्षर ओवरराइड करते समय वही रहता है।
Method Overloading पॉलिमॉर्फिज्म से असंबंधित है। यह एक विधि के विभिन्न रूपों को परिभाषित करने के लिए संदर्भित करता है (आमतौर पर विभिन्न पैरामीटर संख्या या प्रकार प्राप्त करके)। इसे स्थैतिक बहुरूपता के रूप में देखा जा सकता है। एक कार्यान्वयन या दूसरे को कॉल करने का निर्णय कोडिंग समय पर लिया जाता है। इस मामले में नोटिस विधि के हस्ताक्षर को बदलना चाहिए।
Operator overloading एक अलग अवधारणा, बहुरूपता से संबंधित है, जो अलग ढंग से अपने ऑपरेंड के प्रकार के आधार पर कैसे कार्य करने के लिए एक निश्चित भाषा पर निर्भर ऑपरेटर की क्षमता को दर्शाता है है (उदाहरण के लिए, +
String
और के साथ इसके अलावा के साथ संयोजन अर्थ हो सकता है संख्यात्मक संचालन)।
विकिपीडिया में example काफी चित्रकारी है।
निम्न संबंधित सवाल भी उपयोगी हो सकती:
स्रोत
2012-10-15 11:00:53
बहुरूपता के लिए असंबंधित अधिक भार है? अधिभार समय संकलन समय polymorphism है। जहां सवारी के रूप में रनटाइम polymorphism है –