Aller au contenu

Programmation/Surcharge

Un livre de Wikilivres.

La surcharge consiste à créer plusieurs fonctions portant le même nom car réalisant la même chose, mais ayant une signature différente afin que le compilateur/interpréteur du langage puisse les distinguer.

Dans ce qui suit, le terme "fonction" peut désigner indifféremment fonction ou procédure.

La signature d'une fonction

[modifier | modifier le wikicode]

La signature d'une fonction est ce qui permet à un compilateur ou interpréteur d'identifier une fonction pour la distinguer d'une autre.

Certains langages de programmation n'autorisent pas que deux fonctions portent le même nom, car celui-ci identifie la fonction. Pour ces langages, la signature d'une fonction correspond donc à son nom seul.

Les langages de programmation objet autorisent plusieurs fonctions a porter le même nom, à condition que la liste des types des paramètres acceptés soit différente. La signature correspond donc au nom de la fonction et à la liste des types des paramètres de cette fonction.

Exemple :

afficher(valeur : ENTIER)
afficher(valeur : RÉEL)
afficher(chaine : CHAINE)
afficher(valeur : RÉEL, nombre_de_décimales : ENTIER)

Lors de l'appel à la fonction "afficher", le compilateur ou l'interpréteur distingue laquelle il doit utiliser d'après le type des arguments.

Exemple :

afficher( "Exemple" )  -- appel à afficher(chaine : CHAINE)
afficher( 5.1 )        -- appel à afficher(valeur : RÉEL)