Blog

Java : Surdéfinition, redéfinition et héritage

La redéfinition de fonction est un concept que l’on rencontre lors de la création de sous-classes. Ici, si vous déclarez une sous-classe et créez une fonction avec le même nom et les mêmes arguments qu’une fonction dans la classe de base, la fonction associé à la sous-classe sera exécuté. C’est parce que vous allez probablement déclarer un objet de la sous-classe. D’une manière générale, la fonction associée à l’objet créé sera exécutée.

La surcharge survient lorsque deux méthodes ou plus dans une classe ont le même nom de méthode mais des paramètres différents. Redéfinition signifie avoir deux méthodes avec le même nom et les mêmes paramètres, l’une des méthodes est dans la classe parente et l’autre dans la classe fille. La redéfinition permet à une classe fille de fournir une implémentation spécifique d’une méthode déjà fournie à sa classe parente.

Table de comparaison

SurchargeRedéfinition
1)La surcharge de méthode est utilisée pour améliorer la lisibilité du programme.La redéfinition de méthode est utilisée pour fournir l’implémentation spécifique de la méthode qui est déjà fournie par sa super classe.
2)La surcharge de méthode est effectuée dans la classe elle même.La redéfinition de méthode se produit dans deux classes ayant une relation d’héritage.
3)En cas de surcharge de méthode, les paramètres doivent être différent.En cas de redéfinition de méthode, les paramètres doivent être identique.
4)La surcharge de méthode est l’exemple du polymorphisme au moment de la compilation.La redéfinition de méthode est l’exemple du polymorphisme au moment de l’exécution.
5)En Java, la surcharge de méthode ne peut pas être effectuée en modifiant uniquement le type de retour de la méthode. Le type de retour peut être identique ou différent dans la surcharge de méthode. Mais vous devez changer le paramètre.Le type de retour doit être identique ou covariant lors de la redéfinition de méthode.