Chap12

1346 mots 6 pages
Chapitre 12

Le JDK 1.5

1

Quelques nouveautés:



Généricité



Nouvelle forme syntaxique pour for



Emballage/déballage pour les enveloppes de types primitifs



Méthodes avec un nombre variable d’arguments



Formatage des entrées(/sorties)

2

Généricité
Retour sur les classes de collections
Les classes de collections Java manipulent des objets du type le plus général: Object




Avantage: souplesse
Inconvénients: viennent du fait que l'on est souvent amené à manipuler des collections d'objets d'un type spécifique.

Exemple: une liste d'étudiants
List l=new ArrayList();
Etudiant e=new Etudiant();
l.add(e);
... for (Iterator it=l.iterator();it.hasNext();){ e=(Etudiant) it.next();
e.affiche();
}

Que se passe-t-il:
– si on oublie de caster ?
– si l contient autre chose que des étudiants ?

3

Solution (avant JDK 5.0)
Ecrire une classe spéciale pour chaque collection d'un type donné.
Exemple (suite): pour Etudiant, on définit une classe
ListeEtudiant qui utilise un délégué de type List class ListeEtudiant{ private List l;

public boolean ajouteEtudiant(Etudiant e){

}

// + implementation d'un mécanisme d'itération
}

Problème: on doit tout réecrire pour chaque nouveau type.  On aimerait pouvoir définir un « patron » de classe avec un paramètre de type E que l’on pourrait instancier par le type d’objets qui nous intéresse.

4

Généricité
(JDK 1.5)
Possibilité d'écrire du code utilisant des paramètres de type. Solution Java: proche des templates du C++
Exemple (suite):
Nouvelle classe de collection: ArrayList<E>
– classe/type générique.
– E: paramètre formel de type.
On peut ensuite instancier la classe avec le type qui nous intéresse:
ArrayList<Etudiant>=new ArrayList<Etudiant>( );

Définit un type « liste d'objets de type Etudiant»

5

Avant:
List l=new ArrayList();
Etudiant e=new Etudiant();
l.add(e);
... for (Iterator it=l.iterator();it.hasNext();){ e=(Etudiant) it.next();
e.affiche();
}

Avec les classes génériques:
List<Etudiant> l=new

en relation

  • chap12
    2060 mots | 9 pages
  • C CHAP12
    1236 mots | 5 pages
  • Chap12 Le Prix
    2174 mots | 9 pages
  • DROIT TITRE III Chap12
    2600 mots | 11 pages
  • CHAP12 Les Ondes Au Service Du Diagnostic M Dical Corrig
    437 mots | 2 pages
  • Judith, chapitre 12 et 13 : la mort d’holopherne.
    893 mots | 4 pages
  • Le faucon déniché résumer plus questionaire
    1561 mots | 7 pages
  • Projet
    365 mots | 2 pages
  • Cicatrice
    803 mots | 4 pages
  • adolescence
    637 mots | 3 pages