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

JPG - 15.4 ko

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 !

JPG - 8.3 ko

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 !