what is polymorphism java tutorial with examples
यह ट्यूटोरियल बताता है कि जावा में बहुरूपता क्या है, बहुरूपता के प्रकार, और उदाहरण के साथ संकलन-समय बहुरूपता को कैसे लागू किया जाए:
शब्द 'बहुरूपता' दो शब्दों से निकला है, अर्थात् 'पाली' जिसका मतलब है कई और ' Morphe ”का अर्थ है रूप। इस प्रकार बहुरूपता का अर्थ है कई रूप। एक प्रोग्रामिंग भाषा में, हम कह सकते हैं कि एक वस्तु कई रूप ले सकती है, और इसलिए वस्तु बहुरूपी है।
बहुरूपता OOP की सबसे महत्वपूर्ण विशेषताओं में से एक है और यह हमें विभिन्न रूपों में एक विशेषता (एक वस्तु या एक संदेश या विधि या एक ऑपरेटर) व्यक्त करने की अनुमति देता है।
=> यहाँ जावा शुरुआती गाइड पर एक नज़र रखना।
आप क्या सीखेंगे:
जावा में बहुरूपता का परिचय
बहुरूपी इकाई अलग-अलग परिदृश्यों के तहत अलग-अलग व्यवहार करती है।
उदाहरण के लिए, जावा में। + ’(जोड़) ऑपरेटर पर विचार करें। यह एक बाइनरी ऑपरेटर है और दो ऑपरेंड लेता है। जब ऑपरेशन्स को oper + 'ऑपरेटर से पास किया जाता है, तो एक अतिरिक्त ऑपरेशन जो दो नंबरों का योग देता है, किया जाता है।
जब संचालन स्ट्रिंग प्रकार में परिवर्तित हो जाता है, तो ands + 'ऑपरेटर स्ट्रिंग ऑब्जेक्ट्स को नहीं जोड़ता है, लेकिन परिणामी तीसरी स्ट्रिंग बनाने के लिए स्ट्रिंग की सामग्री को सम्मिलित या जोड़ देता है।
उदाहरण के लिए, अगर ' एक ' तथा ' दो 'दो स्ट्रिंग वस्तुओं की सामग्री हैं 'एक' + 'दो' में परिणाम होगा ' एक दो ”। यह संघात है।
जावा में, सभी ऑब्जेक्ट बहुरूप हैं क्योंकि वे सभी 'ऑब्जेक्ट' वर्ग से निकले हैं और इस प्रकार ऑब्जेक्ट क्लास के साथ relationship IS-A 'संबंध को पूरा करते हैं।
किसी ऑब्जेक्ट को हमेशा उस विशेष वर्ग प्रकार के संदर्भ चर के माध्यम से एक्सेस किया जाता है। एक बार एक विशेष प्रकार का एक संदर्भ चर घोषित किया जाता है, तो इसे संशोधित नहीं किया जा सकता है। हालाँकि, यदि संदर्भ चर को then अंतिम ’घोषित नहीं किया जाता है, तो हम इसे अन्य वस्तुओं की ओर संकेत कर सकते हैं।
इस ऑब्जेक्ट संदर्भ का प्रकार वर्ग के तरीकों या कार्यों को तय करेगा जिन्हें बुलाया जाना चाहिए।
उदाहरण के लिए,यदि कोई ABC वर्ग और वर्ग XYZ है जो ABC से लिया गया है, तो दोनों वर्गों में एक बहुरूपी विधि func () है।
class ABC{ void func(){} } class XYZ extends ABC{ void func() {} }
आइए, ABC के प्रकार का संदर्भ बनाएं।
obj = new XYZ ();
अब जब हम फंक () विधि कहते हैं, क्योंकि ऑब्जेक्ट द्वारा इंगित ऑब्जेक्ट XYZ है, XYZ कक्षा से फंक () विधि को आमंत्रित किया जाएगा।
जैसा कि हमने ऊपर के उदाहरण में देखा है, विधि func () में अलग-अलग कार्यान्वयन हैं लेकिन एक ही प्रोटोटाइप है। संदर्भ ऑब्जेक्ट द्वारा इंगित की गई वस्तु के आधार पर, हमारे पास उस परिदृश्य में उपयुक्त कार्यान्वयन है। यह बहुरूपता है।
आइए जावा में बहुरूपता पर विस्तार से चर्चा करें।
जावा बहुरूपता उदाहरण
पहले से चर्चा किए गए जोड़ के साथ जावा में बहुरूपता के एक सरल उदाहरण को समझें।
यहां हम एक ही नाम के साथ दो तरीकों का उपयोग करते हैं लेकिन अलग-अलग पैरामीटर। पहला फ़ंक्शन दो पूर्णांक मापदंडों को स्वीकार करता है और दूसरा तरीका दो स्ट्रिंग मापदंडों को स्वीकार करता है।
पारित किए गए मापदंडों के प्रकार के आधार पर, उपयुक्त विधि कहा जाता है और या तो दो पूर्णांक जोड़ता है और परिणाम को प्रिंट करता है या दो तारों को जोड़ता है और परिणामी स्ट्रिंग को प्रिंट करता है।
जावा कार्यक्रम नीचे दिया गया है:
class Addition_operation{ //method to add two integers void addition_func(int num1,int num2){ System.out.println('ABC::addition_func:' + (num1+num2)); } //overloaded method to add two strings void addition_func(String str1, String str2){ String result = str1 + ' ' + str2; System.out.println('XYZ::addition_func:' + result); } } public class Main { public static void main(String() args) { Addition_operation abc = new Addition_operation(); //create a class object abc.addition_func (3,4); //calls 1st method abc.addition_func ('Hello' , 'World!'); //calls 2nd method } }
आउटपुट:
यहाँ हमने देखा है कि जब पहली बार हम दो पूर्णांक मापदंडों को जोड़ते हैं इसके अलावा_फून, तो पहली विधि को कहा जाता है। दूसरे फ़ंक्शन कॉल में, हम दो स्ट्रिंग प्रकार के पैरामीटर पास करते हैं, और इसलिए दूसरी अतिभारित विधि को कहा जाता है।
बहुरूपता के प्रकार
जावा दो प्रकार के बहुरूपता का समर्थन करता है:
- संकलन-समय बहुरूपता
- रन-टाइम बहुरूपता
जैसा कि नाम से पता चलता है, संकलन-समय बहुरूपता संकलन समय पर किया जाता है और रन-टाइम बहुरूपता रनटाइम पर किया जाता है।
जैसा कि ऊपर दिए गए आंकड़े में दिखाया गया है, कंपाइल-टाइम पॉलीमोर्फिज़्म को ओवरलोडिंग के माध्यम से लागू किया जाता है। हम या तो विधि या ऑपरेटर को ओवरलोड कर सकते हैं। ओवरटाइमिंग के माध्यम से रनटाइम पॉलीमॉर्फिज़्म हासिल किया जाता है।
इस ट्यूटोरियल में, हम कम्पाइल-टाइम पॉलिमॉर्फिज़्म पर विस्तार से चर्चा करेंगे। हम अगले ट्यूटोरियल में रनटाइम पॉलीमॉर्फिज्म लेंगे।
संकलित समय जावा में बहुरूपता
संकलन-समय के बहुरूपता को 'स्थैतिक बहुरूपता' के रूप में भी जाना जाता है। संकलन-समय के बहुरूपता के भाग के रूप में, जो भी बहुरूपता प्रदर्शन किया जाना है, संकलन समय पर किया जाता है।
जावा में, संकलन-समय के बहुरूपता का उपयोग किया जाता है ' विधि अतिभार ”। ओवरलोडिंग विधि का उपयोग करते हुए, हम एक ही नाम के साथ एक या एक से अधिक तरीके हो सकते हैं और केवल संख्या या प्रकार या मापदंडों के क्रम पर विभेदित हो सकते हैं।
जावा में कम्पाइल-टाइम पॉलिमोर्फ़िज्म का सबसे आम कार्यान्वयन है। जावा ऑपरेटर ओवरलोडिंग का भी समर्थन करता है।
जावा में सामान्य रूप से ओवरलोडिंग क्या है?
जावा में ओवरलोडिंग एक ही नाम और रिटर्न प्रकार के साथ एक से अधिक विधि होने की एक प्रक्रिया है, लेकिन क्रम, संख्या और प्रकार के तर्कों पर अलग-अलग है। इसे सामान्य रूप से ओवरलोडिंग विधि भी कहा जाता है।
जावा में मेथड ओवरलोडिंग
विधि अधिभार जावा में संकलन-समय के बहुरूपता का कार्यान्वयन है। जब हमारे पास एक ही नाम और / या वापसी के प्रकार के साथ एक या अधिक विधियां होती हैं, लेकिन विभिन्न पैरामीटर सूचियां होती हैं, तो हम कहते हैं कि हमारे पास 'अतिभारित' तरीके हैं।
इसलिए किसी दिए गए वर्ग में, हमारे पास एक ही नाम के साथ विभिन्न विधियां हो सकती हैं लेकिन विभिन्न तर्क सूचियां हैं।
हम ओवरलोड तरीकों को कैसे लागू करते हैं? या कंपाइलर कैसे जानता है कि किस विधि को बुलाया जाना है?
पैरामीटर सूची के आधार पर कॉल से मेल खाने वाली सटीक विधि का आह्वान किया जाता है।
हमने पहले ही देखा है कि जावा में एक वर्ग एक से अधिक कंस्ट्रक्टर हो सकता है। कंस्ट्रक्टर्स के मामले में, तर्कों की सूची या तर्क यह है कि कंस्ट्रक्टर स्वीकार करता है सभी कंस्ट्रक्टर्स में अलग है। यह ओवरलोडिंग का एक उदाहरण है। तो कंस्ट्रक्टर ओवरलोडिंग जावा में ओवरलोडिंग की विधि का एक मूल रूप है।
अब आइए देखें कि जावा में एक विधि को कैसे अधिभारित किया जाए?
जावा पैरामीटर / तर्क सूची में भिन्नता के आधार पर विधि अधिभार के तीन तरीके प्रदान करता है।
# 1) पैरामीटर्स का प्रकार
हम डेटा प्रकार के मापदंडों के आधार पर जावा में तरीकों को ओवरलोड कर सकते हैं।
निम्नलिखित उदाहरण पर विचार करें जिसमें हमने तीन विधियों के प्रोटोटाइप दिए हैं।
जोड़ (int, int);
जोड़ (int, float);
जोड़ (स्ट्रिंग, स्ट्रिंग);
जैसा कि ऊपर से देखा गया है, हमारे पास तीनों मामलों में एक ही विधि का नाम और समान संख्या में पैरामीटर हैं, लेकिन प्रत्येक विधि कॉल में विभिन्न प्रकार के पैरामीटर हैं।
c ++ स्टैटिक वेरिएबल इनिशियलाइज़ेशन
इसलिए जब तक विधियों में विभिन्न प्रकार के पैरामीटर होते हैं, हम कह सकते हैं कि विधियाँ ओवरलोड हैं। जब हम विधि को लागू करते हैं, तो कंपाइलर डेटा प्रकार के पैरामीटर पर निर्णय लेता है, और विधि कॉल के साथ प्रदान की गई पैरामीटर सूची के डेटा प्रकार के आधार पर, उपयुक्त विधि कहा जाता है।
उदाहरण के लिए,अगर हमारे पास नीचे की तरह एक विधि कॉल है:
जोड़ (3, 3.5);
उपरोक्त विधि कॉल में, हम देख सकते हैं कि पहला पैरामीटर इंट प्रकार है जबकि दूसरा पैरामीटर फ्लोट प्रकार है। जब उपरोक्त कॉल का सामना करना पड़ता है, तो कंपाइलर पैरामीटर सूची को हल करता है और फिर उपयुक्त विधि को आमंत्रित करता है जो ऊपर की दूसरी विधि है।
अब डेटा प्रकार के मापदंडों के आधार पर विधि अधिभार को प्रदर्शित करने के लिए एक पूर्ण जावा प्रोग्राम लागू करते हैं।
class MethodOverload { //overloaded method - char parameter public void printParam(char ch) { System.out.println('Input character:' + ch); } //overloaded method - int parameter public void printParam(int num) { System.out.println('Input Number:' + num); } } class Main { public static void main(String args()) { MethodOverload obj = new MethodOverload(); obj.printParam('A'); //call overloaded method (char ) obj.printParam(10); //call overloaded method (int ) } }
आउटपुट:
# 2) पैरामीटर की संख्या
फ़ंक्शन कॉल में पैरामीटर की एक अलग संख्या के साथ तरीकों को ओवरलोडिंग द्वारा विधि ओवरलोडिंग का एक और कार्यान्वयन है।
उदाहरण के लिए,निम्नलिखित विधि घोषणाओं पर विचार करें:
addnum (int, int);
addnum (इंट, इंट, इंट);
उपरोक्त विधि घोषणाओं में, पहली विधि घोषणा में दो पैरामीटर हैं और दूसरी घोषणा में तीन पैरामीटर हैं। जब एक फ़ंक्शन का आह्वान किया जाता है, तो कंपाइलर मापदंडों की संख्या का निरीक्षण करता है और फिर विधि कॉल को उचित रूप से हल करता है।
नीचे दिए गए उदाहरण में प्रोग्राम दिखाया गया है जो मापदंडों की संख्या के आधार पर विधि अधिभार का उपयोग करता है।
class MethodOverload { //overloaded method - 1 parameter public void printParam(char ch) { System.out.println(ch); } //overloaded method - 2 parameters public void printParam(char ch, int num) { System.out.println('Character: ' + ch + ' ; '+ 'Number:' +num); } } class Main { public static void main(String args()) { MethodOverload obj = new MethodOverload(); obj.printParam('A'); //call overloaded method (1 ) obj.printParam('A',10); //call overloaded method (2 ) } }
आउटपुट:
इस उदाहरण में, हमारे पास दो तरीके हैं जो मापदंडों की संख्या के आधार पर अतिभारित हैं। पहला तरीका एक पैरामीटर लेता है और दूसरा तरीका दो पैरामीटर लेता है। मुख्य विधि में, हम दोनों विधियों को एक के बाद एक कहते हैं और संकलक निर्दिष्ट मापदंडों की संख्या के आधार पर फ़ंक्शन कॉल को हल करता है।
# 3) पैरामीटर की अनुक्रम
ओवरलोडिंग विधियों में कार्यान्वयन का तीसरा तरीका ओवरलोड विधियों में मापदंडों के अनुक्रम पर आधारित है।
विधि घोषणा के निम्नलिखित उदाहरण पर विचार करें,
योग (इंट, फ्लोट);
योग (फ्लोट, इंट);
यहाँ हमारे पास एक अधिभार विधि योग है। पहली घोषणा में, पैरामीटर अंतर और फ्लोट हैं। दूसरी घोषणा में भी, पैरामीटर अंतर और फ्लोट हैं, लेकिन पैरामीटर सूची में उनका क्रम बदल गया है।
अब फ्लोट पैरामीटर पहले दिखता है जबकि इंट पैरामीटर दूसरा है। हम पैरामीटर आदेश को बदलकर विधि अधिभार प्राप्त कर सकते हैं।
जावा प्रोग्राम के नीचे यह प्रदर्शित करता है।
class MethodOverload { //overloaded method - char,int parameter public void printParam(char ch, int num) { System.out.println('Input character:' + ch + ' ; ' + 'Input Number:' + num); } //overloaded method - int,char parameter public void printParam(int num, char ch) { System.out.println('Input Number:' + num + ' ; ' + 'Input Character:' + ch); } } class Main { public static void main(String args()) { MethodOverload obj = new MethodOverload(); obj.printParam('A', 100); //call overloaded method (char,int) obj.printParam(100, 'A'); //call overloaded method (int,char) } }
आउटपुट:
उपरोक्त कार्यक्रम में, हमारे पास एक PrintParam अतिभारित विधि है जिसमें int और char पैरामीटर हैं जिनके क्रम को दो विधि घोषणाओं में बदल दिया गया है।
विधि अधिभार के अवैध मामले
अब तक हमने पैरामीटर सूची का उपयोग करके विधि अधिभार पर चर्चा की है। हमने अभी तक वापसी के तरीके पर विचार नहीं किया है। ध्यान दें कि हम रिटर्न प्रकारों के आधार पर तरीकों को अधिभार नहीं देते हैं।
उदाहरण के लिए, यदि दो विधियों में समान नाम और समान पैरामीटर सूचियाँ हैं, लेकिन अलग-अलग रिटर्न प्रकार हैं, तो हम यह नहीं कहते हैं कि ये दोनों विधियाँ ओवरलोड हैं। यह मामला ओवरलोडिंग के लिए अमान्य हो जाता है।
इसलिए यदि हमारे पास निम्नलिखित घोषणाएँ हैं:
मैं int (int, int);
स्ट्रिंग राशि (इंट, इंट);
इस स्थिति में, कंपाइलर एक त्रुटि जारी करेगा क्योंकि दो विधियाँ ओवरलोड नहीं हैं। इसलिए केवल रिटर्न प्रकारों के आधार पर, विधियों को विभेदित नहीं किया जाता है।
जावा प्रोग्राम का उपयोग करके इस अमान्य मामले को प्रदर्शित करें।
class OverloadDemo { public double myMethod(int num1, int num2) { System.out.println('OverloadDemo::myMethod returns double'); return num1+num2; } public int myMethod(int var1, int var2) { System.out.println('OverloadDemo::myMethod returns int'); return var1-var2; } } class Main { public static void main(String args()) { OverloadDemo obj2= new OverloadDemo(); obj2.myMethod(10,10); obj2.myMethod(20,12); } }
उपरोक्त कार्यक्रम में, विधि myMethod के दो प्रोटोटाइप हैं। एक प्रोटोटाइप दो इंटिमेट पैरामीटर लेता है और दोगुना रिटर्न देता है। दूसरी विधि प्रोटोटाइप दो इंट पैरामीटर लेता है और एक इंट रिटर्न देता है।
इसलिए जब हम इस कार्यक्रम को संकलित करते हैं, तो हमें नीचे आउटपुट मिलता है।
आउटपुट:
बिल्ड को स्वचालित करने से मदद मिलेगी
उपरोक्त संकलन त्रुटि इंगित करती है कि विधि दो बार घोषित की गई है। इसका मतलब यह है कि संकलक इन तरीकों को केवल रिटर्न प्रकार के आधार पर अतिभारित नहीं मानता है।
ऑपरेटर ओवरलोडिंग
ऑपरेटर ओवरलोडिंग एक ओवरलोडिंग तंत्र है जिसमें एक मौजूदा ऑपरेटर को एक अलग अर्थ दिया जाता है।
जैसा कि हमने इस ट्यूटोरियल के परिचय अनुभाग में चर्चा की है, एक अतिरिक्त ऑपरेटर is + 'ऑपरेटर ओवरलोडिंग का एक उत्कृष्ट उदाहरण है।
जब इस ऑपरेटर के कार्य संख्यात्मक होते हैं, तो + ऑपरेटर कुल दो मान लौटाता है। लेकिन जब ऑपरेंड स्ट्रिंग प्रकार के होते हैं, तो इसके अलावा ऑपरेशन का परिणाम कंक्रीटिंग स्ट्रिंग होता है। ध्यान दें कि जावा में, हम केवल + (अतिरिक्त) ऑपरेटर को अधिभारित कर सकते हैं।
यह ऑपरेटर दो कार्य करता है:
- पूर्णांक या संख्यात्मक मान जोड़ना।
- सम्वेदनशील तार
इसलिए ऑपरेटर ओवरलोडिंग समर्थन जावा में C ++ के विपरीत सीमित है, जिसमें हम लगभग सभी ऑपरेटरों को ओवरलोड कर सकते हैं, जैसे आकार, डॉट ऑपरेटर, आदि।
नीचे कार्यक्रम जावा में ऑपरेटर ओवरलोडिंग को दर्शाता है।
class OperatorOverload { //overloaded method for concatenating two strings void operator(String str1, String str2) { String resultStr = str1 + str2; System.out.println('Concatenated String: ' + resultStr); } //overloaded method for adding two numbers void operator(int num1, int num2) { int result = num1 + num2; System.out.println('Sum of two numbers : ' + result); } } class Main { public static void main(String() args) { OperatorOverload obj = new OperatorOverload(); obj.operator(10, 15); //add two numbers obj.operator('Hello ', 'World!!'); //concatenate two strings } }
आउटपुट:
उपरोक्त कार्यक्रम में, हमने operator + 'ऑपरेटर को ओवरलोड किया है। जब हम दो पूर्णांक मानों को ओवरलोड विधि से पास करते हैं, तो दो पूर्णांकों का एक योग लौटाया जाता है और जब दो स्ट्रिंग्स को पास किया जाता है, तो परिणामी स्ट्रिंग होती है।
ओवरलोडिंग और संकलन-समय के बहुरूपता के संबंध में कुछ बिंदुओं पर ध्यान दिया जाना चाहिए।
- विधि अधिभार, संकलन-समय के बहुरूपता को लागू करने का तरीका है जिसे स्टेटिक बहुरूपता भी कहा जाता है।
- स्थैतिक बहुरूपता को प्रारंभिक बंधन या संकलन-समय बंधन के रूप में भी जाना जाता है।
- जैसा कि मापदंडों और फ़ंक्शन कॉल के बाध्यकारी संकलन-समय पर होता है, ओवरलोडिंग को संकलन समय बंधन कहा जाता है।
- हम जावा में केवल ’+ 'ऑपरेटर को ओवरलोड कर सकते हैं और यह दो पूर्णांक या दो तारों के संघनन के अलावा करता है।
बार बार पूछे जाने वाले प्रश्न
क्यू # 1) हमें जावा में बहुरूपता की आवश्यकता क्यों है?
उत्तर: बहुरूपता हमें एक वस्तु के लिए कई कार्यान्वयन करने की अनुमति देता है। ओवरलोडिंग विधि के माध्यम से, हमें विभिन्न नामों के साथ बहुत अधिक विधियों की आवश्यकता नहीं है, जिन्हें याद रखना मुश्किल है। इसके बजाय हमारे पास ओवरलोड तरीके हो सकते हैं ताकि हम समान कार्य करने वाले तरीकों का स्पष्ट कार्यान्वयन कर सकें।
साथ ही वंशानुक्रम के उचित कार्यान्वयन में सहायक ओवरराइडिंग जो हमें आसान तरीके से मौजूदा कक्षाओं में अधिक कार्यक्षमता जोड़ने की अनुमति देता है।
Q # 2) बहुरूपता OOP क्या है?
उत्तर: बहुरूपता की वस्तु उन्मुख प्रोग्रामिंग परिभाषा विभिन्न रूपों में एक वस्तु को लागू करने के लिए प्रोग्रामिंग भाषाओं की क्षमता को संदर्भित करती है। बहुरूपता को अतिरिक्त कार्यक्षमता के लिए अभिभावक वर्ग से व्युत्पन्न वर्ग में विधियों को ओवरराइड करने के लिए एक कार्यक्रम की क्षमता के रूप में भी बहुरूपता को परिभाषित किया जाता है।
Q # 3) क्या हम मुख्य विधि को ओवरलोड और ओवरराइड कर सकते हैं?
उत्तर: हम स्थैतिक मुख्य विधि को ओवरराइड नहीं कर सकते। यद्यपि हम मुख्य विधि को अधिभारित कर सकते हैं, JVM कभी भी अतिभारित मुख्य विधि नहीं कहेगा। तो सबसे अच्छा जवाब मुख्य विधि को अधिभार या ओवरराइड नहीं करना है।
Q # 4) क्या कन्स्ट्रक्टर्स को ओवरलोड किया जा सकता है?
उत्तर: हां, हम जावा में कंस्ट्रक्टर्स को उसी तरह से ओवरलोड कर सकते हैं जिस तरह से हम जावा के तरीकों को ओवरलोड करते हैं। कंस्ट्रक्टर्स का आमतौर पर एक ही नाम होता है, लेकिन अलग-अलग तर्क होते हैं।
Q # 5) मेथड ओवरलोडिंग क्यों उपयोगी है?
उत्तर: हम ओवरलोडिंग विधि का उपयोग करके साफ कोड लिख सकते हैं और यह पठनीय भी हो जाता है क्योंकि हमारे पास एक ही नाम के तरीके हैं। इसलिए यदि हम विभिन्न डेटा प्रकारों के लिए कार्यक्षमता को लागू कर रहे हैं, तो हम विधियों को अधिभारित कर सकते हैं और कोड को अलग करना आसान होगा।
निष्कर्ष
जावा में बहुरूपता का अर्थ है कि एक वस्तु के कई रूप हो सकते हैं। जावा में बहुरूपता के दो प्रकार होते हैं अर्थात् संकलन-समय बहुरूपता और रनटाइम बहुरूपता। संकलन-समय बहुरूपता संकलन समय पर किया जाता है। संकलन-समय का बहुरूपता स्थिर है और इसे विधि अधिभार और ऑपरेटर अतिभार के माध्यम से कार्यान्वित किया जाता है।
रनटाइम बहुरूपता रनटाइम पर किया जाता है और गतिशील है। इसे ओवरराइडिंग विधि का उपयोग करके लागू किया जाता है।
इस ट्यूटोरियल में, हमने विधि ओवरलोडिंग को लागू करने के तरीके देखे हैं। हमने ऑपरेटर ओवरलोडिंग के बारे में भी विस्तार से चर्चा की है। जावा केवल ‘+ 'ऑपरेटर के ओवरलोडिंग का समर्थन करता है।
=> आसान जावा प्रशिक्षण श्रृंखला के माध्यम से पढ़ें।
अनुशंसित पाठ
- जावा स्ट्रिंग में () विधि ट्यूटोरियल विथ उदाहरण हैं
- जावा स्ट्रिंग लंबाई () उदाहरणों के साथ विधि
- जावा सबस्ट्रिंग () विधि - उदाहरण के साथ ट्यूटोरियल
- जावा फ्लोट ट्यूटोरियल प्रोग्रामिंग उदाहरण के साथ
- जावा ट्यूटोरियल फॉर बिगिनर्स: 100+ हैंड्स-ऑन जावा वीडियो ट्यूटोरियल
- जावा में ट्री मैप - जावा ट्रीपैप उदाहरणों के साथ ट्यूटोरियल
- जावा स्ट्रिंग ट्यूटोरियल | उदाहरण के साथ जावा स्ट्रिंग के तरीके
- जावा डबल - प्रोग्रामिंग उदाहरणों के साथ ट्यूटोरियल