Avec Objis, spécialiste Java depuis 2005, comprenez la notion de généricité et ses cas d’utilisations de la
ASTUCE –> Soyez informé de la mise à jour de nos tutos ou de la création de nouveaux tutos.
Auteur
Douglas MBIANDOU. Président Objis . Concepteur formation ‘Nouveautés Java 8 et 9’
Prérequis
Mettre en oeuvre la notion d’interface Java
Objectifs
Comprendre la notion de Généricité en Java
Comprendre les cas d’utilisations avec les collections
Comprendre la généricité dans le cas d’un héritage
Programme
Partie 1 : Sans la Généricité
Partie 2 : Avec la Généricité
Partie 3 : Généricité et Héritage
conclusion
Durée
25 minutes.
Partie 1 : Sans la Généricité
Nous allons créer la classe Paire qui permet de travailler avec n’importe quel type de donnée .
Remarque
Si nous voulons utiliser les données de l’objet Paire, il va falloir faire un casting
Certaines erreurs ne sont détectées qu’à l’exécution du programme (Casting du Type “Double” sur chaîne de caractère)
Partie 2 : Avec la Généricité
Nous allons reprendre notre classe Paire en la rendant générique :
Le T n’est défini qu’à l’instanciation de la classe Paire :
Remarque
Avec la Généricité, on a limité l’utilisation du casting (pas intuitif)
Les erreurs ont été détectées dés la compilation
Partie 3 : Généricité et Héritage
Pour illustrer la généricité avec l’héritage, nous allons revenir sur nos classes Employe et Manager
Soit l’exemple de code suivant :
Remarque
La généricité est très utilisée avec les collections, elle permet de pouvoir travailler tranquillement sur la collection sans se soucier du type de la référence , qui, est connu d’avance .
La classe Manager héritant de la classe Employe, l’instruction suivante est interdite :
Créer la méthode afficher(), qui permet d’afficher une liste d’employés .
A l’utilisation de la méthode afficher() nous constatons une erreur quand il s’agit d’afficher une liste de manager :
Notre méthode afficher() s’attend à afficher une liste d’Employés mais pas une liste de Managers.
Pour palier à cette restriction nous devons passer par le wildcard “?” avec l’instruction suivante :
L’instruction (en rouge) permet à la fonction d’afficher n’importe quel objet de type collection héritant de la classe Employe.
Remarque
L’instruction suivante permet d’afficher les objets de type collection qui eux mêmes sont les superclasse de la classe Employe
En reprenant notre exemple :
Notre liste d’employé et de manager s’affiche bien .
Conclusion
Dans ce tutoriel vous avez pu mettre en oeuvre la notion de générité avec Java .
Vous verrez par la suite de ce tutoriel comment Mettre en oeuvre la notion de classe abstraite en Java.
Votre avis nous intéresse
Vous avez remarqué une erreur ? Vous avez une recommandation pour améliorer ce tutoriel ? Vous souhaitez nous encourager à partager notre savoir-faire technique et pédagogique ?
Donner votre avis sur ce Tuto objis.com
Professionnels : maîtrisez les nouveautés Java 8 et 9 !
A travers notre nouvelle formation Nouveautés Java 8 et 9 (durée 4 jours) conçue par l’auteur de ce tutoriel, découvrez par la pratique le nouveau système de Modules Java 9 (Encapsulation forte + Intercafes + Dépendances explicites) ainsi que les spécificités de Java 8 (Streams, Lambda, Optional…). Maîtrisez également la méthodologie de migration de votre code vers Java 9. Un sérieux atout pour votre employabilité et l’évolution de votre carrière professionnelle !. Contactez-nous dès maintenant !