logo

Remplacement de méthode en Java

  1. Comprendre le problème sans remplacement de méthode
  2. Pouvons-nous remplacer la méthode statique
  3. Surcharge de méthode ou substitution de méthode

Si la sous-classe (classe enfant) a la même méthode que celle déclarée dans la classe parent, elle est appelée remplacement de méthode en Java .

En d’autres termes, si une sous-classe fournit l’implémentation spécifique de la méthode qui a été déclarée par l’une de ses classes parent, on parle de remplacement de méthode.

Utilisation du remplacement de méthode Java

  • La substitution de méthode est utilisée pour fournir l’implémentation spécifique d’une méthode déjà fournie par sa superclasse.
  • Le remplacement de méthode est utilisé pour le polymorphisme d'exécution

Règles de remplacement des méthodes Java

  1. La méthode doit avoir le même nom que dans la classe parent
  2. La méthode doit avoir le même paramètre que dans la classe parent.
  3. Il doit y avoir une relation IS-A (héritage).
Règles Java pour le remplacement de méthodes

Comprendre le problème sans remplacement de méthode

Comprenons le problème auquel nous pouvons être confrontés dans le programme si nous n'utilisons pas la substitution de méthode.

 //Java Program to demonstrate why we need method overriding //Here, we are calling the method of parent class with child //class object. //Creating a parent class class Vehicle{ void run(){System.out.println('Vehicle is running');} } //Creating a child class class Bike extends Vehicle{ public static void main(String args[]){ //creating an instance of child class Bike obj = new Bike(); //calling the method with child class instance obj.run(); } } 
Testez-le maintenant

Sortir:

 Vehicle is running 

Le problème est que je dois fournir une implémentation spécifique de la méthode run() dans la sous-classe, c'est pourquoi nous utilisons le remplacement de méthode.


Exemple de remplacement de méthode

Dans cet exemple, nous avons défini la méthode run dans la sous-classe telle que définie dans la classe parent, mais elle a une implémentation spécifique. Le nom et le paramètre de la méthode sont les mêmes, et il existe une relation IS-A entre les classes, il y a donc remplacement de méthode.

 //Java Program to illustrate the use of Java Method Overriding //Creating a parent class. class Vehicle{ //defining a method void run(){System.out.println('Vehicle is running');} } //Creating a child class class Bike2 extends Vehicle{ //defining the same method as in the parent class void run(){System.out.println('Bike is running safely');} public static void main(String args[]){ Bike2 obj = new Bike2();//creating object obj.run();//calling method } } 
Testez-le maintenant

Sortir:

 Bike is running safely 

Un exemple réel de remplacement de méthode Java

Considérons un scénario dans lequel Bank est une classe qui fournit des fonctionnalités permettant d'obtenir le taux d'intérêt. Toutefois, le taux d’intérêt varie selon les banques. Par exemple, les banques SBI, ICICI et AXIS pourraient proposer des taux d’intérêt de 8 %, 7 % et 9 %.

Méthode Java exemple de substitution de banque

Le remplacement de méthode Java est principalement utilisé dans le polymorphisme d'exécution que nous apprendrons dans les pages suivantes.

 //Java Program to demonstrate the real scenario of Java Method Overriding //where three classes are overriding the method of a parent class. //Creating a parent class. class Bank{ int getRateOfInterest(){return 0;} } //Creating child classes. class SBI extends Bank{ int getRateOfInterest(){return 8;} } class ICICI extends Bank{ int getRateOfInterest(){return 7;} } class AXIS extends Bank{ int getRateOfInterest(){return 9;} } //Test class to create objects and call the methods class Test2{ public static void main(String args[]){ SBI s=new SBI(); ICICI i=new ICICI(); AXIS a=new AXIS(); System.out.println('SBI Rate of Interest: '+s.getRateOfInterest()); System.out.println('ICICI Rate of Interest: '+i.getRateOfInterest()); System.out.println('AXIS Rate of Interest: '+a.getRateOfInterest()); } } 
Testez-le maintenant
 Output: SBI Rate of Interest: 8 ICICI Rate of Interest: 7 AXIS Rate of Interest: 9 

Pouvons-nous remplacer la méthode statique ?

Non, une méthode statique ne peut pas être remplacée. Cela peut être prouvé par le polymorphisme d'exécution, nous l'apprendrons donc plus tard.


Pourquoi ne pouvons-nous pas remplacer la méthode statique ?

C'est parce que la méthode statique est liée à la classe alors que la méthode d'instance est liée à un objet. Static appartient à la zone de classe et une instance appartient à la zone de tas.

botte de printemps

Pouvons-nous remplacer la méthode principale Java ?

Non, car la main est une méthode statique.


Différence entre la surcharge de méthode et le remplacement de méthode en Java

Cliquez-moi pour connaître la différence entre la surcharge et la substitution de méthode


Plus de sujets sur le remplacement de méthode (pas pour les débutants)

Remplacement de méthode avec un modificateur d'accès

Voyons le concept de remplacement de méthode avec un modificateur d'accès.

Gestion des exceptions avec remplacement de méthode

Voyons le concept de remplacement de méthode avec gestion des exceptions.