Hello दोस्तों! आज हम इस post में Method Overriding in Java in Hindi (जावा में मेथड ओवरराइडिंग क्या है?) के बारें में विस्तार से पढेंगे और इसके examples को भी देखेंगे. तो चलिए शुरू करते हैं:-
टॉपिक
Method Overriding in Java in Hindi
यदि subclass (child class) के पास वही method होती है जो parent class में declare की गयी है तो इसे java में method overriding कहते हैं.
दूसरे शब्दों में कहें तो, “एक ऐसी method को subclass में declare करना जो पहले से ही parent class में मौजूद है तो इसे method overriding कहा जाता है”
यदि subclass में एक method का, super-class की method की तरह ही एकसमान name, एक समान parameters, और समान ही return type होता है तब subclass की method को overriding method कहा जाता है.
Rules of method overriding in Hindi
जावा में मेथड ओवरराइडिंग के कुछ नियम होते हैं, जो कि निम्नलिखित हैं:-
- child class और parent class दोनों के लिए method का नाम same (एकसमान) होना चाहिए.
- parent-class और child class दोनों के पास same (समान) return type और same parameter list होने चाहिए.
- final और static के रूप में declare की गयी method को हम override नहीं कर सकते.
- child class method के access modifiers, parent class के method से ज्यादा restrictive (प्रतिबंधित) नहीं होने चाहिए. उदाहरण के लिए – यदि parent-class method को हमने public declare किया है तो हम child-class को private और protected के रूप में declare नहीं कर सकते.
- instance methods को override किया जा सकता है केवल तब जब वे subclass के द्वारा inherit हों.
- यदि एक method को inherit नहीं किया जा सकता तो उसे override भी नहीं किया जा सकता.
- हमें हमेशा parent class की abstract methods को override करना चाहिए.
- constructors को override नहीं किया जा सकता है.
मेथड ओवरराइडिंग का उदाहरण
तो चलिए इसको अब एक simple example के द्वारा समझते हैं. माना कि हमारे पास दो class है. एक child class Dog और parent class Animal, Dog क्लास जो है वह Animal क्लास को inherit (extend) करती है. दोनों class के पास एकसमान मेथड void eat() है. Dog क्लास eat() मेथड को override करती है. नीचे आप इसका program देख सकते हैं:-
class Animal{
//Overridden method
public void eat()
{
System.out.println("Animal is eating");
}
}
class Dog extends Animal{
//Overriding method
public void eat(){
System.out.println("Dog is eating");
}
public static void main( String args[]) {
Dog obj = new Dog();
//This will call the child class version of eat()
obj.eat();
}
}
इसका आउटपुट:-
Dog is eating.
Advantage of method overriding
अब हम इसके लाभ के बारें में जान लेते है जो कि निम्नलिखित हैं:-
- इसका मुख्य लाभ यह है कि child class एक method को अपनी खुद की कोई विशेष implementation दे सकता है, parent class में कोई बदलाव किये बिना.
- इसका प्रयोग runtime polymorphism के लिए किया जाता है.
इसे पढ़ें:- Method overloading क्या है?
Difference b/w Method Overloading and Method Overriding in Hindi
मेथड ओवरलोडिंग और मेथड ओवरराइडिंग के बीच अंतर निम्नलिखित है:-
Method overloading | Method overriding |
इसमें पैरामीटर different होना चाहिए परन्तु नाम same होना चाहिए. | इसमें नाम और पैरामीटर दोनों same होने चाहिए. |
यह compile time polymorphism है. | यह run time polymorphism है. |
यह code की readability को बढाता है. | यह code की reusability को बढाता है. |
इसमें return type समान हो सकता है और नही भी सकता. | इसमें return type एकसमान होना चाहिए. |
मेथड ओवरलोडिंग को inheritance की जरूरत पढ़ भी सकती है और नहीं भी. | मेथड ओवरराइडिंग को हमेशा inheritance की आवश्यकता होती है. |
इसे static method का प्रयोग करके भी perform किया जा सकता है. | इसे static method का प्रयोग करके perform नहीं किया जा सकता है. |
यह static binding का प्रयोग करता है. | यह dynamic binding का प्रयोग करता है. |
इसमें access modifiers और non access modifiers को change किया जा सकता है. | इसमें access modifiers और non access modifiers को बदल नहीं सकते हैं. |
यह एक code refinement तकनीक है. | यह एक code replacement तकनीक है. |
private, static और final method को overload किया जा सकता है. | private, static और final methods को override नहीं किया जा सकता. |
इसे compile time polymorphism और static polymorphism या early binding भी कहते हैं. | इसे run time polymorphism और dynamic polymorphism या late binding भी कहते हैं. |
इसका example:-class OverloadingDemo{ static int add1(int x,int y){return x+y;} static int add1(int x,int y,int z){return x+y+z;} } | इसका example-class OverridingDemo{ void a() {System.out.println("A");}} class b extends c {void a(){System.out.println("B");} |
Method Overriding में Super Keyword
super keyword का प्रयोग overriding method में parent class method को call करने के लिए किया जाता है.
class Animal {
public void move() {
System.out.println("Animals can move");
}
}
class Dog extends Animal {
public void move() {
super.move(); // invokes the super class method
System.out.println("Dogs can walk and run");
}
}
public class TestDog {
public static void main(String args[]) {
Animal b = new Dog(); // Animal reference but Dog object
b.move(); // runs the method in Dog class
}
}
इसका आउटपुट:-
Animals can move.
Dogs can walk and run.
references:- https://www.javatpoint.com/method-overriding-in-java
निवेदन:- अगर आपके लिए यह आर्टिकल helpful रहा हो तो इसे अपने दोस्तों के साथ अवश्य share कीजिये और आपके इससे related कोई question हो तो नीचे comment के द्वारा बताइए. Thanks.
Thnk You Very Much
So Great Full
आपका आर्टिकल मुझे बहुत पसंद आते है ।
Very nice.. nice article…. thanks you
thnks dificult chije bhi easily smjh aa jati h