Partage
  • Partager sur Facebook
  • Partager sur Twitter

Surcharge de méthode

30 novembre 2018 à 16:34:17

Bonjour,

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 ?

Cdlt, 

  • Partager sur Facebook
  • Partager sur Twitter
2 décembre 2018 à 9:02:45

Salut,

Je pense que tu peux faire des chose comme ça :

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

  • Partager sur Facebook
  • Partager sur Twitter

J'aime les bandes dessinées, manhuas, manhwas, mangas, comics... Du coup j'ai fait aralosbd.fr !

11 décembre 2018 à 16:41:00

Merci, c'est très clair.
  • Partager sur Facebook
  • Partager sur Twitter