Quelle est la différence entre la surcharge et le remplacement de méthode?



Cet article couvre les principales différences entre la surcharge de méthode et le remplacement en java avec divers exemples, y compris le super mot-clé et diverses règles.

Le langage de programmation Java est le meilleur choix en ce qui concerne . Avec des concepts comme Des classes , , , etc., il devient extrêmement facile de travailler avec . La facilité d'accès et la syntaxe facile rendent le code efficace et moins complexe. Dans cet article, nous allons en apprendre davantage sur la surcharge et le remplacement de méthode en Java. Voici les sujets abordés dans ce blog:

Qu'est-ce que la surcharge de méthode en Java?

La surcharge de méthode permet à la méthode d'avoir le même nom qui diffère en fonction des arguments ou des types d'arguments. Cela peut être lié au polymorphisme à la compilation. Voici quelques conseils que nous devons garder à l'esprit lors de la surcharge des méthodes en Java.





  • Nous ne pouvons pas surcharger un type de retour.

  • Bien que nous puissions surcharger , les arguments ou les paramètres d'entrée doivent être différents.



  • Nous ne pouvons pas surcharger deux méthodes si elles ne diffèrent que par un mot clé statique.

  • Comme les autres méthodes statiques, la méthode main () peut également être surchargée.

surcharge de méthode - surcharge et remplacement de méthode dans java- edureka



Jetons un œil à un programme simple pour comprendre le fonctionnement de la surcharge de méthodes en python.

public class Div {public int div (int a, int b) {return (a / b)} public int div (int a, int b, int c) {return ((a + b) / c)} public static void main (String args []) {Div ob = new Div () ob.div (10, 2) ob.div (10, 2, 3)}}
 Production: 5 4

Dans le programme ci-dessus, nous avons deux méthodes avec le même nom mais des paramètres différents. Voici comment fonctionne la surcharge de méthode dans .

Pourquoi une surcharge de méthode?

Le principal avantage de l'utilisation de la surcharge de méthodes en Java est que cela nous donne la liberté de ne pas définir une fonction encore et encore pour faire la même chose. Dans l'exemple ci-dessous, les deux méthodes effectuent essentiellement une division, nous pouvons donc avoir différentes méthodes avec le même nom mais avec des paramètres différents. Cela aide également au polymorphisme à la compilation.

quels sont les composants de la plateforme java?

Surcharge de la méthode main ():

Voici un exemple pour surcharger la méthode main () en java.

public class Edureka {public static void main (String [] args) {System.out.println ('hello') Edureka.main ('edurekan')} public static void main (String arg1) {System.out.println (' welcome '+ arg1) Edureka.main (' welcome ',' to edureka ')} public static void main (String arg1, String arg2) {System.out.println (' hello ', + arg1, + arg2)}}
 Production: bonjour bienvenue edurekan bonjour, bienvenue chez edureka

Exemples de surcharge de méthode

  • Programme pour surcharger les méthodes statiques en java.
public class Test {public static int func (int a) {return 100} public static char func (int a, int b) {return 'edureka'} public static void main (String args []) {System.out.println ( func (1)) System.out.println (func (1,3))}}
 Production: 100 édureka
  • Programme pour surcharger trois méthodes avec le même nom.
public class Add {public int add (int a, int b) {return (a + b)} public int add (int a, int b, int c) {return (a + b + c)} public double add (double a, double b) {return (a + b)} public static void main (String args []) {Add ob = new Add () ob.add (15,25) ob.add (15,25,35) ob .add (11.5, 22.5)}}
 Production: 40 75 34

Qu'est-ce que le remplacement de méthode en Java?

L'héritage en java implique une relation entre les classes parent et enfant. Chaque fois que les deux classes contiennent des méthodes avec le même nom et des arguments ou paramètres, il est certain que l'une des méthodes remplacera l'autre méthode pendant l'exécution. La méthode qui sera exécutée dépend de l'objet.

Si l'objet de classe enfant appelle la méthode, la méthode de classe enfant remplace la méthode de classe parent. Sinon, si l'objet de classe parent appelle la méthode, la méthode de classe parente sera exécutée.

Le remplacement de méthode aide également à implémenter le polymorphisme d'exécution en java. Prenons un exemple simple pour comprendre comment le remplacement de méthode fonctionne en Java.

class Parent {void view () {System.out.println ('ceci est une méthode de classe parente)}} classe Enfant étend Parent {void view () {System.out.println (' ceci est une méthode de classe enfant)}} public static void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
 Production: c'est une méthode de classe enfant

Règles de remplacement de méthode

  • La access modifier ne peut autoriser plus d'accès que pour la méthode remplacée.

  • À final La méthode ne prend pas en charge le remplacement de méthode.

  • Une méthode statique ne peut pas être remplacée.

  • Les méthodes privées ne peuvent pas être remplacées.

  • Le type de retour de la méthode de remplacement doit être le même.

  • Nous pouvons appeler la méthode de classe parent dans la méthode de substitution en utilisant le mot clé super.

  • À constructeur ne peut pas être remplacé car une classe enfant et une classe parent ne peuvent pas avoir le constructeur du même nom.

Exemple de remplacement de méthode

  • Programme pour afficher le remplacement à l'aide d'un super mot-clé
class Parent {void show () {System.out.println ('méthode de classe parent')} classe Enfant étend Parent {void show () {super.show () System.out.println ('méthode de classe enfant')} public static void main (String args []) {Parent ob = new Child () ob.show ()}}
 Production: méthode de classe parent méthode de classe enfant

Surcharge vs remplacement: différence entre la surcharge de méthode et le remplacement de méthode

Voici les principales différences entre la surcharge et la substitution de méthode en Java.

Surcharge de méthode Remplacement de méthode
  • Il est utilisé pour augmenter la lisibilité du programme
  • Fournit une implémentation spécifique de la méthode déjà dans la classe parent
  • Il est effectué dans la même classe
  • Cela implique plusieurs classes
  • Les paramètres doivent être différents en cas de surcharge
  • Les paramètres doivent être les mêmes en cas de remplacement
  • Est un exemple de polymorphisme à la compilation
  • C'est un exemple de polymorphisme d'exécution
  • Le type de retour peut être différent, mais vous devez également modifier les paramètres.
  • Le type de retour doit être le même pour le remplacement
  • Les méthodes statiques peuvent être surchargées
  • Le remplacement n'implique pas de méthodes statiques.

Dans ce blog, nous avons discuté en détail de la surcharge de méthode et du remplacement de méthode. Avec l'implication de classes, d'objets et de concepts tels que l'héritage et le polymorphisme, il devient assez important d'avoir une idée claire de ce que signifie surcharger ou remplacer des méthodes en java.

Le langage de programmation Java est le summum de la programmation orientée objet et intègre de nombreuses applications. Avec la demande et la popularité, un futur développeur Java doit maîtriser les concepts fondamentaux du langage de programmation. Inscrivez-vous à Edureka pour démarrer votre apprentissage.

Vous avez une question pour nous? veuillez le mentionner dans la section commentaires de cet article sur «surcharge de méthode vs remplacement de méthode en java» et nous vous répondrons dans les plus brefs délais.