Tutoriel JAVA N°16 : concept clé ‘généricité’

////Tutoriel JAVA N°16 : concept clé ‘généricité’

java-9.jpg 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 .
tuto-13-1
tuto-13-2
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 :
tuto-13-3

 Le T n’est défini qu’à l’instanciation de la classe Paire :

tuto-13-4
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 :

tuto-13-6

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 :

tuto-13-7
tuto-13-8

 Créer la méthode afficher(), qui permet d’afficher une liste d’employés .
tuto-13-9

 A l’utilisation de la méthode afficher() nous constatons une erreur quand il s’agit d’afficher une liste de manager :
tuto-13-10

 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 :

tuto-13-11

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
tuto-13-11

 En reprenant notre exemple :
tuto-13-12
tuto-13-12

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 !

modules-java9.jpgA 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 !

2018-01-29T18:30:20+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java