Programmation générique

Programmation générique #

La programmation générique, ou tout simplement la généricité, permet de concevoir des algorithmes qui peuvent être utilisés pour des objets de types différents. Il est donc possible de réduire la duplication de code en offrant une même implémentation tout en étant indépendant d’un type. Java offre les génériques depuis sa version 5.

Nous avons déjà employé à plusieurs reprises des types génériques issus de la librairie standard (List<E>, Map<K,V>, Iterable<E>…). Pour une liste par exemple, nous pouvons facilement comprendre que l’ajout, le décompte, la récupération… d’éléments est identique, qu’importe le contenu de la liste.

Nous allons maintenant apprendre à réaliser nos propres types génériques. Nous verrons qu’il est possible de borner les paramètres d’un type générique, nous étudierons le mécanisme d’effacement employé par le compilateur pour offrir une programmation générique et se limitations. Enfin, nous aborderons la variance (covariance, contravariance et invariance).












comments powered by Disqus