Ecole Normale Supérieure de l'Enseignement Technique
(ENSET)
La généricité en Java
Abdelmajid BOUSSELHAM
Email: bousselham@[Link]
Researchgate : [Link]
Google Scholar: [Link]
Scopus: [Link]
Linkedin: [Link]
Qu'est-ce que la généricité ?
• La généricité est un principe java qui permet de créer des classes des méthodes, et des interfaces qui
fonctionnent avec différents types de données.
• Une entité telle qu'une classe, une interface ou une méthode qui opère sur un type paramétré est
appelée une entité générique.
• La généricité consiste à structurer les méthodes et l'information de manière à ce qu'elle soit
indépendante d'un type. Par exemple, créer un vecteur pouvant contenir des valeurs réelles ou
complexes.
• La généricité est introduite en Java 1.5.
• Avantage de de la généricité et la réutilisation du code : nous pouvons écrire une
méthode/classe/interface une fois et l'utiliser pour n'importe quel type que nous voulons.
Définir une classe générique
• Une classe générique est utilisée pour définir une structure qui peut être appliquée à des types de
données différents.
• Afin de définir un type générique pour une classe il faut suivre son nom par un identifiant qui doit être
placé entre "<" et ">".
Instancier une classe générique
• Instancier une classe générique consiste à donner une valeur à la (ou les) variable(s) de type :
• Exemple :
Étendre une classe générique
• On peut créer une classe qui hérite d’une classe générique. Dans ce cas, nous avons deux scénarisons,
soit la classe fille est aussi générique ou non générique.
• Dans l’exemple suivant, la classe Triplet qui hérite de la classe générique Paire. La classe Triplet reste
aussi générique, pour cela on spécifie aussi le type T dans la classe générique fille.
Étendre une classe générique
• L’exemple suivant montre une classe fille non générique qui hérite d’une classe générique. Dans ce cas, on doit
préciser un type pour T. Dans cet exemple on a spécifié le type String.
Définir des contraintes sur un type générique
• On peut définir des contraintes sur le type génique. on peut préciser qu'un type générique hérite d'une
classe ou d'une (ou plusieurs) interface(s).
• Dans l’exemple suivant on précise que le type T doit être de type de la classe Employé et doit
implémenter les interface Serializable et Cloneable.
Définir une méthode générique
• Une méthode peut être paramétrée par un type, qu'elle soit dans une classe générique ou non.
• L’exemple suivant montre la définition d’une méthode générique dans une classe non générique.
• L’exemple suivant montre l’utilisation de la méthode générique créée :
Définir une interface générique
• En java on peut définir une Interface qui a des paramètres génériques :
• Exemple d’une interface générique:
• Exemple de l’implémentation de l’interface générique créée :