La surcharge de fonctions permet aux fonctions dans les langages informatiques tels que C, C ++ et C # d'avoir le même nom avec des paramètres différents. La surcharge de l'opérateur permet aux opérateurs de travailler de la même manière. En C #, la surcharge de méthode fonctionne avec deux méthodes qui accomplissent la même chose mais ont différents types ou nombres de paramètres.
Plutôt que d'avoir une fonction nommée différemment pour trier chaque type de tableau, comme:
Vous pouvez utiliser le même nom avec différents types de paramètres comme indiqué ici:
Le compilateur peut alors appeler la fonction appropriée en fonction du type de paramètre. La résolution de surcharge est le terme donné au processus de sélection de la fonction de surcharge appropriée.
Semblable à la surcharge de fonctions, la surcharge d'opérateurs permet aux programmeurs de redéfinir des opérateurs tels que +, - et *. Par exemple, dans une classe de nombres complexes où chaque nombre a une partie réelle et imaginaire, les opérateurs surchargés permettent au code tel que celui-ci de fonctionner:
Tant que + est surchargé pour le type complexe.