INSTITUT SUPERIEUR POLYTECHNIQUE DE MADAGASCAR
TP JAVA n°10 – POO et Classes Génériques : Listes Chainées
1) Implémentez les codes sources suivantes, dans un projet JAVA « ListeChain » :
[Link]
1 package listechain;
2 class Noeud<T> {
3 T val;
4 Noeud suiv;
5
6 public Noeud(T val, Noeud suiv) {
7 [Link] = val;
8 [Link] = suiv;
9 }
10 public Noeud(T val) {
11 this(val, null);
12 }
13 }
[Link]
1 package listechain;
2 public class Pile<T> {
3 private Noeud<T> tete;
4
5 public Pile() {
6 tete = null;
7 }
8 public void empiler(T nouvVal){
9 tete = new Noeud(nouvVal, tete);
10 }
11
12 public T dépiler(){
13 T tmp = [Link];
14 tete = [Link];
15 return tmp;
16 }
17
18 public boolean estVide(){
19 return tete == null;
20 }
21 }
2) Ecrire une classe Main qui utilise cette classe générique Pile<T>. Expérimenter avec plusieurs types contenus.
3) Que pensez-vous de l’encapsulation dans la classe générique Noeud<T> ?
Cette implémentation respecte-t-elle les principes de la POO ?
4) Ecrire une classe générique de votre choix.