/ अतिप्रकाशित उपवर्ग विधियों का उपयोग / सुपरक्लास विधि - जावा, वंशानुक्रम, उपवर्ग, सुपरक्लास, विधि-अधिभावी

ओवरराइड सबक्लास विधियों का उपयोग कर सुपरक्लास विधि - जावा, विरासत, सबक्लास, सुपरक्लास, विधि-ओवरराइडिंग

यह एक अजीब शब्द है, इसलिए मैं माफी माँगता हूँ अगर यह एक डुप्लिकेट है।

कहो मेरे पास एक क्लास है foo विधि के साथ a उस कॉल विधि b:

public class foo
{
public void a()
{
b();
}

public void b()
{
gamma();
}
}

अब मेरे पास एक उपवर्ग है bar वह फैलता है foo

public class bar extends foo
{
@Override
public void b()
{
theta();
}
}

अगर मैं फोन करता हूँ bar.a(), मर्जी a उपयोग b सुपरक्लास से विधि या b उपवर्ग से विधि? वह है, इच्छा bar.b() अंजाम देना gamma या यह निष्पादन को समाप्त करेगा theta?

उत्तर:

उत्तर № 1 के लिए 1

यह उपवर्ग से विधि b का उपयोग करेगा। यह ओवरराइडिंग विधियों का बिंदु है। अपने माता-पिता के लिए एक उपवर्ग एक विधि के अधिक विशिष्ट कार्यान्वयन बनाने के लिए स्वतंत्र है। जब ओवरलैड विधि को उपवर्ग पर कॉल किया जाता है, तो सुपर क्लास की विधि के स्थान पर इसकी विशेष विधि का उपयोग किया जाएगा।


जवाब के लिए 0 № 2

f मैं बार.ना () कहता हूं, सुपरक्लास या बी से बी पद्धति का उपयोग करेगा उपवर्ग से विधि? यही है, बार.बी. () अंत में गामा निष्पादित करेगा या यह थीटा को अंजाम देगा?

यह उपयोग करेगा bar.b() तरीका। इसी का परिणाम है गतिशील प्रेषण.