Comment surcharger les méthodes en Java

Une classe Java peut contenir deux ou plusieurs méthodes avec le même nom, à condition que ces méthodes acceptent des paramètres différents. Cette technique, appelée surcharge, est l'une des clés de la construction de la flexibilité dans vos classes. Avec la surcharge, vous pouvez anticiper différentes façons que quelqu'un pourrait vouloir invoquer les fonctions d'un objet et ensuite fournir des méthodes surchargées pour chaque alternative.

Le terme surcharge est précise mais un peu malheureux. Normalement, quand vous dites que quelque chose est surchargé, il ya un problème. Heureusement, vous ne devez pas vous inquiéter à propos de Java croulant sous le poids des méthodes surchargées.

Vous êtes déjà familier avec plusieurs classes qui ont surchargées méthodes, si vous ne pouvez pas le réaliser. La classe PrintWriter, par exemple (à laquelle vous accédez via System.out), définit 10 versions de la méthode println qui vous permettent d'imprimer différents types de données. Les lignes suivantes montrent la déclaration de méthode pour chacun de ces surcharges:

println void () de println void (booléen x) println vide (char x) println void (char [] x) println void (double x) println vide (float x) de println (int x) println void (long x) println vide (Object x) println void (String x)

La règle de base dans la création de méthodes surchargées est que chaque méthode doit avoir une signature unique. Est une méthode signature est la combinaison de son nom et le nombre et les types de paramètres qu'il accepte. Ainsi, chacune des méthodes println a une signature différente, parce que même si toutes les méthodes ont le même nom, chaque méthode accepte un type de paramètre différent.

Deux choses qui sont pas une partie de la signature d'une méthode sont

  • Le type de retour de la méthode: Vous ne pouvez pas coder deux méthodes avec le même nom et les paramètres, mais avec des types de retour différents.

  • Les noms des paramètres: Tout ce qui importe à la signature de la méthode sont les types de paramètres et l'ordre dans lequel ils apparaissent. Ainsi, les deux méthodes suivantes ont la même signature:

à double someMethodOfMine (double x, y booléen) à double someMethodOfMine (Double param1, param2 booléen)

» » » » Comment surcharger les méthodes en Java