मान लीजिए मैं एक कक्षा में दो तरीकों का कहना हैजावा ओवरलोडिंग और अधिभावी
public void eat(int i,String s)
और
public void eat(String s, int i)
तो क्या है यह पसंद है। ओवरलोडिंग या ओवरराइडिंग?
मान लीजिए मैं एक कक्षा में दो तरीकों का कहना हैजावा ओवरलोडिंग और अधिभावी
public void eat(int i,String s)
और
public void eat(String s, int i)
तो क्या है यह पसंद है। ओवरलोडिंग या ओवरराइडिंग?
ओवरलोडिंग का मतलब एक ही नाम के साथ दो विधियों या अधिक है, लेकिन आपके उदाहरण की तरह विभिन्न पैरामीटर के साथ। जबकि आप ओवरराइडिंग को इंटरफेस या अमूर्त वर्ग से एक विधि को कार्यान्वित करते हैं, इसलिए सुपर क्लास में विधि में कार्यान्वयन होता है और उप-वर्ग में एक अलग, फिर भी उनके पास एक ही विधि का नाम और पैरामीटर है।
कि विधि से अधिक भार हो सकता है, के रूप में यह विधि ओवरलोडिंग के लिए शर्तों को पूरा करता:
भी ओवरराइडिंग तब हो सकती है जब विरासत शामिल हो। चूंकि आपकी दोनों विधियां एक ही कक्षा में हैं, इसलिए इसे ओवरराइड नहीं किया जा सकता है।
यह ओवरलोडिंग है। जब आप एक ही विधि हस्ताक्षर के लिए विभिन्न कार्यान्वयन देते हैं तो ओवरराइडिंग विरासत में उपयोग की जाती है।
यह ओवरलोडिंग है। संक्षेप में:
अधिभावी = जगह
ओवरलोडिंग = अधिक विकल्प
ओवरलोडिंग और अधिभावी के बारे में नियमों की तरह दे:
* कैथी सेइरा, बर्ट बेट्स द्वारा जावा 6 अध्ययन मार्गदर्शिका के लिए सूर्य प्रमाणित प्रोग्रामर से लिया गया।
संपत्ति ------------------- अधिक भार -------------------- ओवरराइड
विधि नाम --------------> वही होना चाहिए --------------------> होना चाहिए
Arg प्रकार ------------------> अलग होना चाहिए (कम से कम तर्क) ----> होना चाहिए (ऑर्डर सहित)
विधि हस्ताक्षर ------ -----> अलग होना चाहिए (कम से कम तर्क) ----> होना चाहिए (ऑर्डर सहित)
वापसी का प्रकार ----------------> कोई प्रतिबंध नहीं -------------------> एन ओ प्रतिबंध
निजी, स्टेटिक, अंतिम -------> नहीं प्रतिबंध --------------------> एक ही
पहुँच होना आवश्यक है संशोधक ------------> कोई प्रतिबंध नहीं -------------------- वही
कोशिश/पकड़ ------ -----------> कोई प्रतिबंध नहीं -------------------- अपवाद फेंक दिया गया है
विधि समाधान ------- -> कंपाइलर समय (संदर्भ) -------- (JVM) रन टाइम पोयमोर्फिज्म
विधि ओवरलोडिंग का मतलब है कि एक ही नाम के साथ कक्षा में दो अलग-अलग तरीकों को प्रदान करना है, लेकिन अलग-अलग तर्क जबकि विधि वापसी प्रकार भिन्न हो सकता है या नहीं हो सकता है जो हमें उसी विधि नाम का पुन: उपयोग करने की अनुमति देता है।
ओवरराइड करने का तरीका बाल वर्ग में एक विधि को परिभाषित करना है जो पहले से ही उसी विधि हस्ताक्षर के साथ मूल वर्ग में परिभाषित किया गया है, वही नाम, तर्क और वापसी प्रकार।
विधि ओवरलोडिंग और विधि अधिभावी के बीच अंतर
अधिक जानकारी के लिए आप Everything About Method Overloading Vs Method Overriding पढ़ सकते हैं।
बस प्रत्येक लेख की पहली वाक्य पढ़ें http://en.wikipedia.org/wiki/Method_overloading http://en.wikipedia.org/wiki/Method_overriding –
यह आपकी लोडिंग को ओवरलोडिंग और ओवरराइड कर रहा है यदि आपकी विधि किसी बच्चे में रखी जाती है कक्षा जो विभिन्न प्रत्यारोपण प्रदान करती है। – qrtt1