web-dev-qa-db-fra.com

Le polymorphisme, la surcharge et le dépassement sont-ils des concepts similaires?

Je suis très confus au sujet des concepts de polymorphisme, de surcharge et de surcharge, car cela me semble identique. Veuillez expliquer ces concepts et en quoi sont-ils différents les uns des autres

Très confus alors veuillez me guider correctement.

Merci

30
Ammar Raja

Le polymorphisme peut être obtenu en remplaçant. En termes courts, le polymorphisme fait référence à la capacité d'un objet à fournir différents comportements (utiliser différentes implémentations) selon sa propre nature. Plus précisément, en fonction de sa position dans la hiérarchie des classes.

remplacement de méthode est lorsqu'une méthode définie dans une superclasse ou une interface est redéfinie par l'une de ses sous-classes, modifiant ainsi/remplaçant ainsi le comportement fourni par la superclasse. La décision d'appeler une implémentation ou une autre est prise dynamiquement lors de l'exécution, selon l'objet à partir duquel l'opération est appelée. Notez que la signature de la méthode reste la même lors de la substitution.

surcharge de méthode n'est pas liée au polymorphisme. Il s'agit de définir différentes formes d'une méthode (généralement en recevant différents numéros ou types de paramètres). Il peut être considéré comme un polymorphisme statique. La décision d'appeler une implémentation ou une autre est prise au moment du codage. Notez dans ce cas que la signature de la méthode doit changer.

surcharge de l'opérateur est un concept différent, lié au polymorphisme, qui fait référence à la capacité d'un certain opérateur dépendant de la langue de se comporter différemment en fonction du type de ses opérandes (par exemple, + pourrait signifier la concaténation avec Strings et l'addition avec des opérandes numériques).

Le exemple dans Wikipedia est assez illustratif.

Les questions connexes suivantes pourraient également être utiles:

61
Xavi López