Surcharge de méthodes
Fait partie de la section Fondamentaux du Journey Java de Coddy. Leçon 54 sur 73.
En Java, la surcharge de méthodes te permet de définir plusieurs méthodes portant le même nom, mais ayant des paramètres différents. Cela signifie que tu peux avoir plusieurs méthodes qui remplissent une fonction similaire, mais qui opèrent sur des types de données différents ou un nombre différent d’arguments.
La clé est que chaque méthode surchargée doit avoir une signature unique. La signature d’une méthode est déterminée par son nom ainsi que par le type et l’ordre de ses paramètres.
Voici les règles clés de la surcharge de méthodes :
- Même nom : Toutes les méthodes surchargées doivent avoir le même nom.
- Paramètres différents : Chaque version de la méthode doit avoir un nombre différent de paramètres, des types de paramètres différents, ou les deux.
- Le type de retour ne suffit pas : les méthodes surchargées ne peuvent pas différer uniquement par leur type de retour. Elles doivent avoir des listes de paramètres différentes.
Voici un exemple pour illustrer la surcharge de méthodes :
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
}Dans cet exemple, nous avons trois méthodes nommées add. La première additionne deux entiers, la deuxième additionne deux nombres à virgule flottante et la troisième additionne trois entiers.
Java détermine quelle méthode appeler en fonction des arguments transmis lors de l’appel de méthode.
Lorsqu’aucune surcharge ne correspond exactement aux types des arguments, Java choisit celle qu’il peut atteindre au moyen d’une conversion implicite par élargissement. Par exemple, avec display(int a) et display(double a), l’appel display(5.0f) utilise la version double, car un float peut être élargi en double, mais ne peut pas devenir un int sans transtypage.
La surcharge de méthodes rend le code plus lisible et réutilisable. Au lieu de créer des noms différents pour des méthodes qui effectuent des tâches similaires (par exemple, addInts, addDoubles, addThreeInts), tu peux utiliser un seul nom, add, et laisser le compilateur choisir la méthode appropriée en fonction du contexte.
Rappelle-toi : la surcharge nécessite des types ou des nombres de paramètres différents, et pas seulement des noms de paramètres ou des types de retour différents.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation/DécrémentationPost-incrémentation/Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Entrées/sorties de base
Méthodes de System.outFormatage de la sortieClasse ScannerRévision - Jusqu’à 120Révision - Vrai ou faux10Méthodes (fonctions)
Déclarer des méthodesParamètres des méthodesTypes de retourSurcharge de méthodesRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationMéthodes void13Opérations sur les chaînes
Méthodes des chaînes, partie 1Méthodes des chaînes, partie 2Formatage des chaînesComparaison de chaînes5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif – Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 48Application de calculatrice
Message de bienvenueSaisie des nombres3Variables, partie 2
ConstantesConventions de nommageRécapitulatif – initialiser les variablesConversion de type, partie 1Conversion de type, partie 26Prise de décision
Instruction ifIf - ElseInstruction switchOpérateur ternaireRécapitulatif - If ElseIf - Else imbriqués9Boucles
Boucle for, partie 1Boucle whileBoucle do...whileInstruction breakInstruction continueBoucle for, partie 2Boucles imbriquéesBoucle infinieRécapitulatif - saisie dynamique12Parcourir les tableaux
Utiliser une boucle forBoucle for amélioréeOpérations courantes sur les tableauxEntraînez-vous par vous-même : Compilateur Java en ligne