« Programmation/Programmation générique » : différence entre les versions

aucun résumé des modifications
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 1 :
<noinclude>{{Programmation informatique}}</noinclude>
 
La {{w|généricité}} (ou programmation générique), consiste à définir des algorithmes identiques opérant sur des données de types différents. On définit de cette façon des procédures ou des types entiers génériques
 
== Principe ==
{{...}}
 
Dans la plupart des langages de programmation, les opérateurs d'expression (opérateurs arithmétiques, logiques, de comparaison...) supportent différents types numériques, entiers et à virgule flottante, sur différentes tailles fixes (16, 32, 64 bits...).
Plutôt que de redéfinir le même algorithme (procédure, fonction ou méthode selon la terminologie adaptée au paradigme du langage de programmation employé) plusieurs fois pour chaque type numérique, l'algorithme n'est codé qu'une seule fois, en utilisant une syntaxe particulière indiquant qu'il s'agit d'un type générique non défini.
 
Cela peut s'appliquer aussi aux types non numériques, y compris des structures complexes (objet, chaîne de caractères, tableaux) quand l'algorithme n'utilise aucune particularité du type.
C'est le cas par exemple des collections de données (liste, dictionnaire...) qui ne font que stocker les valeurs quel que soit leurs types qu'il s'agisse d'entiers, de chaînes de caractères...
 
== Utilisation ==
 
 
 
== Fonctionnement interne ==
 
À la compilation, certains langages (Java par exemple) remplacent le type générique par un type répondant aux contraintes associées.
 
D'autre langages ne compilent pas l'algorithme générique (ou partiellement) lors de sa déclaration.
Il n'est compilé qu'à son utilisation, lorsque le type à utiliser est déterminé.