ebook img

Généricité en Java PDF

22 Pages·2016·0.11 MB·French
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Généricité en Java

Généricité en Java Virginia Aponte CNAM-Paris 10 septembre 2016 VirginiaAponte (CNAM-Paris) Ing39 10septembre2016 1/22 1. Définitions, exemples VirginiaAponte (CNAM-Paris) Ing39 10septembre2016 2/22 Paramétrisation Paramétrisation d’un code Mécanismepuissantdelaprogrammationquiconsisteàgénéraliseruncode, demanièreàluipasserenparamètrelesvariablesdontildépend. lecodedevientréutilisablesurtoutevaleurdesparamètres. Exemple:afficheruntableaud’entiers boucleaffichantuntableautparticulier⇒codefigépourt,non reutilisable. méthodeparamétréeparn’importequeltableaux⇒codereutilisable pourtouttableauconcret,den’importequelletaille. VirginiaAponte (CNAM-Paris) Ing39 10septembre2016 3/22 Deux sortes de paramétrisation Pardonnées:uneméthodeestparamétrablepar variablesdésignantdesvaleursquelconques(entiers,booleans, uneinstaced’unobjet) ⇒coderéutilisablesurn’importequelledonnée(dubontype). Partypes:uneclasseouméthodeestparamétrablepar variablesdésignantdestypesquelconques ⇒réutilisablesurn’importequeltypeconcret. VirginiaAponte (CNAM-Paris) Ing39 10septembre2016 4/22 Définition de généricité Généricité Paramétrisationd’unmorceaudecode(classes,méthodes),paruntype. Exemple: classeArrayList<T>:soncodeparamétréparlavariabledetypeT <T>:signifie«n’importequeltypenonprimitif» méthodesdelaclasse:décritespourn’importequelT ré-utilisablepourn’importequelT:new ArrayList<Compte>(). Ici,T=Compte. VirginiaAponte (CNAM-Paris) Ing39 10septembre2016 5/22 Exemple généricité : classe ArrayList<E> public class ArrayList<E> implements List<E>, Collection<E>, Iterable<E> ...{ public boolean add(<E> el) {...} public E get(int i){...} .... } E:type(quelconque)desélémentsdelaliste; implanteplusieursinterfacesgénériques; lesméthodesontdestypesgénériques: boolean add(<E> el)ajouteunélémentdetypeEdansla liste; VirginiaAponte (CNAM-Paris) Ing39 10septembre2016 6/22 Exemple généricité (2) : utilisation UnArrayList<T>avecT=Compte: ArrayList<Compte> comptesBNP = new ArrayList<Compte>(); Compte c1 = new Compte("Lucie", 150.0); comptesBNP.add(c1); // dans liste comptes banque comptesBNP:listedecomptesdelabanque VirginiaAponte (CNAM-Paris) Ing39 10septembre2016 7/22 Généricité en Java EmployéedemanièreintensivedanslabibliothèqueCollections: Typesgénériques: interfacesgénériques(List<T>,Set<T>,...) classes(implantations)génériques:(LinkedList<T>, ArrayList<T>,...) méthodesgénériques nombreusesimplantationsgénériquesprédéfinies:(LinkedList<T>, ArrayList<T>,...) VirginiaAponte (CNAM-Paris) Ing39 10septembre2016 8/22 2. Porquoi la généricité? VirginiaAponte (CNAM-Paris) Ing39 10septembre2016 9/22 Intérêt de la généricité Letypageestplusprécis⇒plusd’erreurssontdetectéesàla compilation: sansgénéricité:certaineserreursnesontdetectablesquelorsde l’exécution; sansgénéricité:lecodeestsouventpluscomplexe. VirginiaAponte (CNAM-Paris) Ing39 10septembre2016 10/22

Description:
méthodes génériques nombreuses implantations génériques prédéfinies : (LinkedList, Exemple collection non générique (1). Compte c = new
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.