Surcharge de méthode en Java [avec exemples]

Publié: 2020-11-12

Java est un langage polyvalent qui suit les concepts de la programmation orientée objet. De nombreuses fonctionnalités de la programmation orientée objet rendent le code modulaire, réutilisable, flexible et facile à déboguer. Il existe de nombreuses fonctionnalités de la programmation orientée objet, telles que l'héritage, le polymorphisme, l'encapsulation et l'abstraction.

Dans cet article, nous aborderons la surcharge de méthode en Java qui est le type de polymorphisme.

Table des matières

Polymorphisme

Le polymorphisme signifie la capacité d'apparaître sous différentes formes. Il permet à la même méthode de montrer différents comportements en utilisant différentes méthodes. Il existe deux types de polymorphisme : la surcharge de méthode et le remplacement de méthode. La surcharge de méthode signifie que plusieurs méthodes portent le même nom mais des arguments différents.

Apprenez à créer des applications comme Swiggy, Quora, IMDB et plus

Le remplacement de méthode signifie que la classe enfant peut avoir une méthode portant le même nom que la classe parent mais avec une implémentation différente. Nous discuterons plus en détail de la surcharge de méthode dans cet article. Pour le remplacement de méthode, vous pouvez visiter upGrad et obtenir des informations.

Surcharge de méthode en Java

La surcharge de méthode en Java est l'une des fonctionnalités les plus utiles d'un langage orienté objet. Il permet à une classe d'avoir plusieurs méthodes avec le même nom. La seule différence que ces méthodes ont est la liste différente des paramètres qui sont passés par ces méthodes.

Il peut être compris en termes simples avec un exemple simple. Une addition de classe a deux méthodes nommées add(), une méthode a des paramètres int a et int b, tandis que l'autre a trois paramètres entiers, c'est-à-dire int a, int b et int c. Par conséquent, la méthode add() est dite surchargée.

La méthode qui sera exécutée dépendra du nombre de paramètres passés dans l'instruction d'appel de la méthode. Pour illustrer, add(20,30) appellera la méthode add() ayant deux paramètres, et add(10,20,30) appellera la méthode add avec trois paramètres.

Différentes façons de surcharger une méthode

La surcharge de méthodes en Java peut être réalisée de différentes manières. Comme nous l'avons compris, c'est la liste des paramètres qui différencie les deux méthodes du même nom en Java. Les différentes méthodes de surcharge de méthode en Java peuvent être obtenues en faisant varier la liste des paramètres de l'une des manières ci-dessous :

  1. Nombre de paramètres
  2. Le type de données des paramètres
  3. La séquence des paramètres de type de données

Le nombre de paramètres

Comme il ressort clairement du nom qu'il y aura un nombre différent de paramètres dans les méthodes surchargées qui décideront de la méthode à exécuter en voyant l'instruction d'appel de méthode. Vous trouverez ci-dessous la surcharge de méthode en Java , où le nombre de paramètres varie.

Méthode 1 : add(int, int)

Méthode 2 : add(int, int, int)

L'instruction d'appel de méthode add(20,30) exécutera la méthode1 et l'instruction d'appel de méthode add(10,20,30) exécutera la méthode2.

Le type de données des paramètres

Dans ce type de surcharge de méthode en Java , les deux méthodes Java d'une classe ont le même nom et le nombre de paramètres peut être identique ou différent, mais le type de données des paramètres sera différent.

Méthode 1 : add(int, int)

Méthode 2 : add(int, float)

Méthode 3 : ajouter (flotteur, flottant)

Dans les méthodes ci-dessus, le nom de la méthode est le même, mais le type de données des paramètres est différent. Ainsi, la méthode appelant l'instruction add(2, 5.5) exécutera la method2. De même, add(7.5, 10.25) exécutera la method3.

La séquence du type de données des paramètres

Dans ce type de surcharge de méthode en Java , le nom de la méthode et le nombre de paramètres sont identiques, mais la différence réside dans la séquence des types de données de ces paramètres. Voici l'exemple de méthodes surchargées :

Méthode 1 : add(int, float)

Méthode 2 : add(float, int)

Ici, appeler l'instruction add(100, 75.5) appellera la method1 à exécuter, et add(55.25, 150) exécutera method2.

Par conséquent, ce sont les paramètres de l'instruction appelante qui décident quelle méthode surchargée sera exécutée.

Lire : Surcharge de méthode en Java

Pourquoi avons-nous besoin d'une surcharge de méthodes en Java ?

Si le programmeur a créé une méthode en Java pour effectuer une action, mais que plus tard, dans le cadre de l'exigence, le programmeur souhaite que la même méthode agisse sur différents paramètres, le codeur peut simplement utiliser la fonctionnalité de surcharge de méthode en Java . Cela permettra au programmeur de créer les méthodes d'exécution de fonctions similaires avec le même nom afin qu'il n'ait pas à se souvenir des noms plus tard.

Découvrons les avantages de la surcharge de méthodes en Java.

Avantages de la surcharge de méthode en Java

Voici quelques-uns des avantages de la surcharge de méthodes en Java :

  • Il améliore la lisibilité du code écrit.
  • Cela ajoute de la propreté au code écrit.
  • Il peut également être utilisé sur les constructeurs afin que nous puissions créer différents objets en passant différentes données.
  • Il donne aux programmeurs la possibilité d'appeler différentes méthodes avec des noms similaires.
  • Les méthodes surchargées peuvent avoir différents types de retour.

Doit lire: Carrière en Java

Règles de surcharge de méthode en Java

  • La première règle est de changer la signature de la méthode. La signature de méthode fait référence au nombre d'arguments, à la séquence de paramètres et au type de données des paramètres.
  • Si nous ne changeons que le type de retour de la méthode en gardant le nom de la méthode et les arguments identiques, alors ce ne sera pas la surcharge de la méthode mais cela donnera lieu à une erreur de compilation.

Points importants sur la surcharge de méthode en Java

  • Tout code écrit en Java ne peut pas avoir de méthodes portant le même nom. Si nous créons 2 méthodes avec le même nom en Java, cela générera une erreur de compilation.
  • Ceci peut être réalisé en surchargeant la méthode. La surcharge de méthode permet aux programmeurs d'écrire deux ou plus de deux méthodes avec le même nom, mais des listes de paramètres différentes.
  • La surcharge de méthode en Java est similaire à la surcharge de constructeur. La seule différence est que la surcharge de méthode se produit pour les méthodes définies dans la classe, tandis que la surcharge de constructeur concerne les méthodes de constructeur de la classe.
  • Dans la surcharge de méthode en Java, les méthodes surchargées ont une liste de paramètres différente. Cela n'a rien à voir avec le type de retour de la méthode. Par exemple; si deux méthodes ont le même nom et la même liste de paramètres, mais des types de retour différents, il ne s'agit pas d'une surcharge de méthode dans Java , mais d'un cas non valide.

Méthode 1 : int Add (float, float)

Méthode 2 : float Ajouter (float, float)

Il s'agit du cas invalide de surcharge de méthode car les deux méthodes Add() ont le même nom et la même liste de paramètres.

Ci-dessous se trouve le code qui explique la surcharge de méthode en Java :

Somme de classe{

privé int a;

privé int b;

privé int c;

int privé d;

int public add(int a, int b){

entier c ;

c=a+b ;

retour c;

}

int public add(int a, float b){

entier c ;

c=a+b ;

retour c;

}

int public add(float a, float b){

entier c ;

c=a+b ;

retour c;

}

int public add(float a, int b, int c){

entier d ;

d=a+b+c ;

retour d;

}

}

Public static void main (String[]args)

{

// Création de l'objet de la classe dans la méthode principale

somme obj1 = nouvelle somme();

somme1=obj1.add(10,20);

somme2=obj1.add(10,55.5);

sum3=obj1.add(110.5,25.5);

somme4=obj1.add(10,20,30);

}

A lire aussi : Programmes de modèles en Java

Conclusion

Dans cet article, la surcharge de méthode en Java a été discutée en détail, expliquant ses types, ses règles et ses avantages. Le sujet a été expliqué en profondeur à l'aide d'exemples. Faites-nous savoir dans les commentaires si vous avez un doute concernant la surcharge en Java.

Si vous souhaitez en savoir plus sur Java, le développement de logiciels à pile complète, consultez le diplôme PG upGrad & IIIT-B en développement de logiciels à pile complète qui est conçu pour les professionnels en activité et offre plus de 500 heures de formation rigoureuse, plus de 9 projets et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Décrochez le job de vos rêves

MISE À NIVEAU ET DIPLÔME PG DE L'IIIT-BANGALORE EN DÉVELOPPEMENT LOGICIEL
Apprendre encore plus