C quoi override et overload help me en java
Résolu
zaki_djerba
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
PhPhil -
PhPhil -
Bonjour,
c quoi override et overload help me stp
c quoi override et overload help me stp
3 réponses
Ce sont deux termes qui n'ont pas rien à voir, mise à part le "over" et que tous deux s'appliquent sur des méthodes.
En java, et comme les autres langages OO je pense :
Overload c'est le fait d'implémenter deux (ou plus) méthodes avec le même nom. Ceci n'est possible qu'à condition que le type de retour des deux méthodes soit le même, et que les deux méthodes diffèrent de part leur(s) paramètre(s) (en type et en nombre).
exemple:
Override c'est le fait de redéfinir dans une classe fille (qui a hérité d'une autre classe) une méthode, tout en gardant le même nom (et la même "zone" de paramètres il me semble) mais en l'implémentant différemment.
Un exemple simple :
J'ai une classe Forme, avec une méthode draw()
Je définie deux sous-classes (=filles) de Forme : Carré et Cercle
Elles héritent donc de la méthode draw().
Mais on ne dessine pas un carré et un cercle de la même façon, on va donc redéfinir (ré-implémenter) notre méthode draw() dans Carré et notre méthode draw() dans Cercle.
PS: j'ai répondu à ce post qui date de plus d'un an car c'est un post qui arrive dans les premières page google avec une recherche sur override (et overload). Il est donc préférable qu'il y ait une réponse claire.
En java, et comme les autres langages OO je pense :
Overload c'est le fait d'implémenter deux (ou plus) méthodes avec le même nom. Ceci n'est possible qu'à condition que le type de retour des deux méthodes soit le même, et que les deux méthodes diffèrent de part leur(s) paramètre(s) (en type et en nombre).
exemple:
void func( int ); void func( double );
Override c'est le fait de redéfinir dans une classe fille (qui a hérité d'une autre classe) une méthode, tout en gardant le même nom (et la même "zone" de paramètres il me semble) mais en l'implémentant différemment.
Un exemple simple :
J'ai une classe Forme, avec une méthode draw()
Je définie deux sous-classes (=filles) de Forme : Carré et Cercle
Elles héritent donc de la méthode draw().
Mais on ne dessine pas un carré et un cercle de la même façon, on va donc redéfinir (ré-implémenter) notre méthode draw() dans Carré et notre méthode draw() dans Cercle.
PS: j'ai répondu à ce post qui date de plus d'un an car c'est un post qui arrive dans les premières page google avec une recherche sur override (et overload). Il est donc préférable qu'il y ait une réponse claire.
lilka
merciii
PhPhil
Bien vu ! Merci