Je suis assez nouveau à Java et de Python et de PHP, je suis habitué aux valeurs par défaut pour les paramètres de fonction.La surcharge est-elle vraiment le seul moyen d'obtenir des valeurs par défaut pour les paramètres de méthode en Java?
J'ai donc l'habitude d'écrire des méthodes conçues pour être appelées à partir de situations légèrement différentes où vous ne voulez définir que certaines valeurs. Par exemple, dans mon code PHP, ce serait commun où j'ai des méthodes d'usine qui fournissent des instances d'objet avec des propriétés légèrement différentes.
En Java, il me semble que je dois avoir une méthode qui attend tous les paramètres, puis plusieurs variations surchargées qui appellent cette méthode avec certains des paramètres définis par défaut et certains fournis par l'appelant. Ce qui est, bon, d'accord, mais peut parfois m'énerver. Je me souviens que cela m'avait déjà ennuyé dans quelques brèves excursions en C++ et en ActionScript. Maintenant, les développeurs Java plus expérimentés ont-ils un raccourci pour cela?
Il me semble que, techniquement, la réponse à la question est la suivante: «Oui, c'est». J'ai ouvert un message wiki ci-dessous pour collecter les différentes solutions alternatives, merci de contribuer si vous le souhaitez. J'ai trouvé tous ces éléments très utiles comme source d'inspiration et comme exemples d'apprentissage pour des constructions Java typiques.
Semble comme abus de la fonctionnalité varargs pour moi. – erikkallen
+1 au commentaire de erikkallen. –
Je pense que les varargs sont bons si les arguments varient en nombre mais tous signifient la même chose, comme avec la liste des noms dans ces exemples. Si les arguments signifient quelque chose de différent, vous devrez bientôt mettre en place tant de vérifications que c'est en fait plus propre et plus facile à surcharger. Droite? –