Method Overloading and Method Overriding In Hindi

Method Overloading and Method Overriding In Hindi

जावा प्रोग्रामिंग क्लास में मेथड ओवरलोडिंग और मेथड ओवरराइडिंग दो पॉपुलर पॉलीमॉरफिस्म क्लास कॉन्सेप्ट हैं. जो जावा यूजर को एक ही नाम के यूजर डिफाइन क्लास मेथड को मल्टीप्ल यूनिवर्सल आर्डर में डिफाइन करने में हेल्प करते हैं. जहा मल्टीप्ल यूजर डिफाइन क्लास मेथड अलग-अलग तरीके से प्रोग्राम में कॉल किए जाते हैं, और जावा प्रोग्रामर डिक्लेअर मल्टीप्ल क्लास ऑब्जेक्टिव को पूरे करने में ये आपको हेल्प करते हैं।

Method Overloading and Method Overriding In Hindi

So, let’s take a closer look at class method overloading and method overriding concepts in Java programming.

Method Overloading in Java Classes.

जावा क्लास मेथड में ओवरलोडिंग टास्क को तब परफॉर्म किया जाता है, जब किसी यूजर डिफाइन क्लास प्रोग्राम में एक ही नाम के कई कस्टम क्लास मेथड क्रिएटेड होते हैं. जहा जावा यूजर क्रिएटेड क्लास मेथड में ये कांसेप्ट को अलग-अलग डिफाइन करते हैं.

जिसमे यूजर क्रिएटेड क्लास डिक्लेअर पैरामीटर नम्बर्स (अलग-अलग क्लास पैरामीटर लिस्ट) आदि है.

मौजूदा क्लास में डिक्लेअर कस्टम पैरामीटर का डाटा टाइप (अलग-अलग डेटा टाइप) आदि है.

मौजूदा क्लास में डिक्लेअर मेथड वेरिएबल पैरामीटर का ऑर्डर (अलग-अलग डाटा टाइप के मामले में).

Features of method overloading in a Java class.

जावा क्लास मेथड ओवरलोडिंग से जावा प्रोग्रामर एक ही क्लास में डिक्लेअर क्लास मेथड के कई मल्टीप्ल वर्जन डिफाइन या क्रिएट कर सकते हैं. जबकि यहाँ मेथड ओवरलोडिंग में मल्टीप्ल इंडिविजुअल क्लास पैरामीटर आर्गुमेंट के साथ उन्हें डिफाइन किया जा सकता है।

यहाँ क्लास प्रोगाम में रिटर्न टाइप मेथड ओवरलोडिंग में ये कोई इम्पोर्टेन्ट रोल प्ले नहीं करता है। जहा क्लास में डिक्लेअर मेथड सिग्नेचर में यूजर डिफाइन क्लास वेरिएबल पैरामीटर नम्बर्स या डाटा टाइप अलग-अलग तरह से डिफाइन होने चाहिए।

मेथड ओवरलोडिंग टास्क को क्लास प्रोग्राम कंपाइल-टाइम पर मैनेज किया जाता है. इस प्रोसेस को कंपाइल-टाइम पॉलीमॉर्फिज्म या स्टैटिक पॉलीमॉर्फिज्म कांसेप्ट के रूप में जाना जाता हैं।

Example of method overloading in a Java class.

class Calculation {

    // here we define a method Overloaded method to total two integers’ data parameter

    public int total(int p, int q) {

        return p + q;

    }

    // here we use method Overloaded method to total three integers’ data type value

    public int total(int p, int q, int r) {

        return p + q + r;

    }

    // here method Overloaded method used to total two doubles integer value

    public double total(double p, double q) {

        return p + q;

    }

    // here Overloaded method used to total one integer and one double integer data type

    public double total(int p, double q) {

        return p + q;

    }

}

public class Main {

    public static void main(String[] args) {

        Calculation count = new Calculation();

        System.out.println(count.total(7, 9));           // here it Calls total(int, int) data type parameter

        System.out.println(count.total(9, 8, 3));        // here it Calls total(int, int, int) data type parameter

        System.out.println(count.total(3.9, 7.9));       // here it Calls total(double, double) data type parameter

        System.out.println(count.total(7, 5.8));         // here t Calls total(int, double) data type parameter method

    }

}

Method overloading in a Java class explanation.

  • यहाँ Calculation क्लास में मेथड ओवरराइडिंग को count वेरिएबल नाम के कई मेथड डिफाइन किए गए है, जबकि यहाँ अलग-अलग डाटा टाइप पैरामीटर लिस्ट के साथ इन्हे रिप्रेजेंट किया गया है.
  • count(int, int) यह क्लास मेथड में दो इंटीजर वैल्यू को ऐड करता है।
  • count(int, int, int) यह क्लास मेथड में तीन अलग अलग इंटीजर वैल्यू को ऐड करता है।
  • count(double, double) यह क्लास मेथड में दो डबल इन्टिजर वैल्यू को ऐड करता है।
  • count(int, double) यह क्लास मेथड में एक इंटीजर और एक डबल वैल्यू को ऐड करता है।

Java Method Overriding in Classes.

जावा क्लास में मेथड ओवरराइडिंग टास्क को तब परफॉर्म किया जाता है, जब क्लास में कोई यूजर डिफाइन सबक्लास किसी ऐसे क्लास मेथड के लिए एक स्पेशल इम्प्लीमेंटेशन प्रोवाइड करता है. जो की उसमे सुपरक्लास में पहले से ही डिफाइन किया गया होता है। यहाँ सबक्लास में ओवरराइड किए गए क्लास मेथड का मेथड सिग्नेचर, क्लास नाम, रिटर्न डाटा टाइप और क्लास डाटा पैरामीटर वेरिएबल, पेरेंट क्लास के मेथड जैसा ही डिफाइन होता है। यहाँ डिक्लेअर सबक्लास मेथड का अपना एक अलग वर्जन हो सकता है, जबकि यहाँ क्लास का मेथड का नाम वही डिफाइन रहता है।

Features of Java Method Overriding.

  • यहाँ जावा क्लास प्रोग्राम में सबक्लास मेथड का सिग्नेचर सुपरक्लास के मेथड जैसा ही मिलता जुलता होना चाहिए। जैसे, (एक ही मेथड नाम, रिटर्न डाटा टाइप और यूज़ होने वाले क्लास डाटा पैरामीटर वेरिएबल) आदि है।
  • क्लास में डिक्लेअर मेथड ओवरराइडिंग एक रनटाइम पॉलीमॉर्फिज्म (डायनामिक पॉलीमॉर्फिज्म) कांसेप्ट को एक्सप्लेन करता है. इसका मतलब है, कि जिस क्लास मेथड  में इसे इनवोक किया गया होता है. वह क्लास रनटाइम पर क्लास ऑब्जेक्ट डाटा टाइप के आधार पर फिक्स होता है।
  • यहाँ यूजर डिफाइन सुपरक्लास में कोई डिक्लेअर क्लास मेथड फाइनल, स्टैटिक, या प्राइवेट डाटा टाइप नेचर के नहीं होना चाहिए। क्योंकि इन्हें जरूरत पड़ने पर क्लास में मैन्युअल ओवरराइड नहीं किया जा सकता है।
  • ओवरराइड क्लास में @Override एनोटेशन यह इंडीकेट करने में किया जाता है, कि मौजूदा क्लास में किसी एक्सिस्टिंग क्लास मेथड को ओवरराइड किया जा रहा है. जैसा की  यह एक ऑप्शनल टास्क है, और यह बिगिनर जावा प्रोगामर को प्रोग्रामिंग मिस्टेक्स को अवॉयड करने में हेल्प करता है

Example of Java class method overriding.

class Course {

    // here we define a course Method in superclass

    public void select_course() {

        System.out.println(“Course, select your desire course”);

    }

}

class Java extends Course {

    // here we Overriding the java method in subclass

    @Override

    public void select_course() {

        System.out.println(“You select Java”);

    }

}

class Python extends Course {

    // here we Overriding the python method in subclass

    @Override

    public void select_course() {

        System.out.println(“You select Python”);

    }

}

public class Main {

    public static void main(String[] args) {

        Course course = new Course();

        Course java = new Java();  // here we Upcasting

        Course python = new Python();  // here we Upcasting

        course.select_course();  // here it Calling Course select_course() function method

        java.select_course();     // here it Calling Java select_course() due to overriding

        python.select_course();     // here it Calling Python select_course() due to overriding

    }

}

Java class method overriding explained.

  • यहाँ क्लास प्रोगाम में Course सुपरक्लास में select_course() मेथड Java और Python सबक्लास में ओवरराइड किया गया है।
  • जहा Java और Python क्लास में @Override एनोटेशन का यूज़ यह इंडीकेट करने में किया जाता है कि select_course() मेथड इसमें ओवरराइड हो रहा है।
  • क्लास मेथड select_course() को Course टाइप के ऑब्जेक्ट पर कॉल किया जाता है, लेकिन यह Java और Python क्लास के ओवरराइड किए गए मेथड को इनवोक करता है. जो मौजूदा क्लास प्रोग्राम में रनटाइम पॉलीमॉर्फिज्म बिहैवियर को रिप्रेजेंट करता है।

Leave a Reply