La surcharge de méthode selon ce que j'ai compris est la modification de paramètres en gardant le meme nom de méthode ainsi que le meme corps, j'aurai aimé savoir est-ce qu'on peut également changer le type de retour ainsi que la portée de la méthode ?
public void bar() {
// ...
}
public String bar(String test) {
return "salut";
}
private int bar(int test) {
return 42;
}
Car java sait différencier les fonctions grace à leur prototye. Par contre, tu ne peux pas créer deux fonctions avec les mêmes paramètres, même si leur retour ou leur portée est différente. Ce code ne fonctionne donc pas :
public void bar() {
// ...
}
public int bar() {
// ...
}
private void bar() {
// ...
}
Il est facile de comprendre pourquoi java n'accepte pas ça : quelle fonction doit-il utiliser si tu appelles la fonction bar() ?
EDIT:
Ce n'est pas parce que java accepte ça que c'est une bonne chose. Surcharger et en profiter pour changer le type de retour, ou la porté casse la lisibilité du code.
- Edité par Smiley32 2 décembre 2018 à 9:04:17
J'aime les bandes dessinées, manhuas, manhwas, mangas, comics... Du coup j'ai fait aralosbd.fr !
J'aime les bandes dessinées, manhuas, manhwas, mangas, comics... Du coup j'ai fait aralosbd.fr !