UFR de Mathématiques et d'Informatique
IUP 1, DEUG 2, 2002/2003
Algorithmique et programmation orientées objets
Travaux pratiques
Séance 8, avril




Les oeufs en chocolat




Les oeufs en chocolat

On souhaite modéliser les oeufs en chocolats, qui peuvent contenir d'autres oeufs en chocolat. On choisit pour cela d'utiliser la classe Ensemble écrite au TP précédent (TP 7).



public class OeufEnChocolat {

  private Ensemble oeufsContenus ;

  .
  .
  .
}




Écrire pour la classe OeufEnChocolat les méthodes publiques suivantes :









Pour les deux dernières méthodes, il est nécessaire de pouvoir parcourir les éléments d'un ensemble. Pour cela, vous rajouterez à la classe Ensemble la méthode Iterator iterator(), définie comme suit :

  public Iterator iterator () {
    return new Iterator() {

        private Liste listeCourante ;

        { listeCourante = liste ; }

        public boolean hasNext() {
          return (!listeCourante.estVide()) ;
        }

        public Object next() {
          if (listeCourante.estVide())
            throw new java.util.NoSuchElementException() ;
          Object aRetourner = listeCourante.tete() ;
          listeCourante = listeCourante.queue() ;
          return aRetourner ;
        }

        public void remove() {
          throw new java.lang.UnsupportedOperationException() ;
        }
      } ;
  }




Un exemple d'utilisation d'un itérateur est donné par le code suivant, qui affiche chaque objet contenu dans l'ensemble :
  Iterator iter = oeufsContenus.iterator() ;
  while (iter.hasNext())
   System.out.println(iter.next().toString()) ;




Pour comprendre davantage les itérateurs, vous pourrez consulter la documentation en ligne de l'interface Iterator.


This document was translated from LATEX by HEVEA.