Advertisement
Advertisement

More Related Content

Advertisement

Chap1lla génèricité.pptx

  1. 1 Programmation Orientée Objet Avancée Année Universitaire 2022/2023 Niveau : License L2- DSI Semestre2 Sana REFAI sana.refai@gmail.com 1
  2. Plan du cours 2 Chapitre 1: La généricité Chapitre 2: Les collections Chapitre 3: Les interfaces graphiques javaFX Chapitre 4: Gestions des évènements Chapitre 5: Les entrées /Sorties en java Chapitre 6: Les threads Chapitre 5: L’accés aux BD via jdbc 2
  3. Chapitre 1: La généricité 3
  4. Introduction(1/4) Cas 1 : On veut définir une notion de paire d’objets avec deux attributs de même( int par exemple ):  on a créé une classe spécialement pour des paires d’entiers ; si on veut des paires de booléens il faudrait réécrire une autre classe (avec un autre nom) qui contiendrait les mêmes méthodes 4
  5. Introduction(2/4) Une solution possible Inconvénients • les deux attributs peuvent des instances de classes différentes, • on peut être amené à faire du transtypage (vers le bas), • on risque des erreurs de transtypage qui ne se détecteront qu’`a l’exécution 5
  6. Introduction(3/4) La solution est : la généricité l’usage de type paramétre. La généricité est une notion de polymorphisme paramétrique. Depuis la version 5.0 Java autorise la définition de classes et d’interfaces contenant un (des) paramètre(s) représentant un type(s). Cela permet de décrire une structure qui pourra être personnalisé au moment de l’instanciation à tout type d’objet. 6
  7. Introduction(4/4) La solution est : la généricité Cette définition permet de définir ici des Paire contenant des objets de type (uniforme) mais arbitraire. 7
  8. Les avantages de la généricité La généricité en Java permet de créer des classes, des interfaces et des méthodes qui peuvent être utilisées avec différents types de données. La généricité, vous permet de: • Ecrire du code plus flexible, réutilisable et sûr à l'exécution. • Eviter les erreurs de type à l'exécution en vérifiant le type des objets à la compilation. • Eviter la duplication de code en créant des classes génériques qui peuvent être utilisées avec différents types de données. la généricité en Java est un concept très utile pour écrire du code plus souple et plus sûr, qui peut être utilisé avec différents types de données sans duplication de code. 8
  9. Utilisation de la généricité • une classe générique doit être instanciée pour être utilisée • on ne peut pas utiliser un type primitif pour l’instanciation, • il faut utiliser les classes enveloppantes on ne peut pas instancier avec un type générique • une classe instancie ne peut pas servir de type de base pour un tableau 9
  10. Plusieurs types paramètres On peut utiliser plusieurs types paramètres : 10
  11. Utilisation du type paramètre le type paramètre peut être utilise pour déclarer des variables (attributs) sauf dans une méthode de classe le type paramétré ne peut pas servir à construire un objet. 11
  12. méthodes et généricité (1/3)  Une méthode de classe (static) ne peut pas utiliser une variable du type paramètre dans une classe générique. 12
  13. méthodes et généricité (2/3)  Une méthode (de classe ou d’instance) peut être générique dans une classe non générique. Elle utilise alors son propre type paramètre.  Pour utiliser une telle méthode on doit préfixer le nom de la méthode par le type d’instanciation entre < et >. 13
  14. méthodes et généricité (3/3)  Une méthode (de classe ou d’instance) peut être générique dans une classe générique. Elle peut utiliser le type paramètre de la classe et son propre type paramètre. 14
  15. Héritage et généricité  une classe générique peut étendre une classe (générique ou pas)  Triplet< T > est une sous classe de Paire< T > • Triplet< String > est une sous classe de Paire< String > • Triplet< String > n’est pas une sous classe de Paire< T > • Triplet< String > n’est pas une sous classe de Paire< Object > bien que String soit une sous classe de Object • Triplet< String > n’est pas une sous classe de Triplet< Object > bien que String soit une sous classe de Object Ce dernier point interdit donc une affectation du genre : 15

Editor's Notes

  1. Rechercher un element ds un tableau
  2. Rechercher un element ds un tableau
  3. Rechercher un element ds un tableau
  4. Rechercher un element ds un tableau
  5. Rechercher un element ds un tableau
  6. Rechercher un element ds un tableau
  7. Rechercher un element ds un tableau
  8. Rechercher un element ds un tableau
  9. Rechercher un element ds un tableau
  10. Rechercher un element ds un tableau
  11. Rechercher un element ds un tableau
  12. Rechercher un element ds un tableau
  13. Rechercher un element ds un tableau
  14. Rechercher un element ds un tableau
Advertisement