:: Enseignements :: ESIPE :: E3INFO :: 2008-2009 :: Programmation Objet avec Java ::
[LOGO]

Objets, délégation, structure simple, exceptions


Exercice 1 - PolyLine

Le but de cet exercise est de définir une classe PolyLine qui représente une ligne brisée définie par une succession de points.
On souhaite que des PolyLine différentes puisse être définie par un nombre de point différents mais que le nombre maximum de points soit définie lors de la création de chaque PolyLine.
Pour définir les points de la PolyLine on définira une méthode add qui permet d'ajouter un point à la PolyLine.
Pour tout l'exercice vous ecrire un main de test dans la classe PolyLineTest.

  1. Est-il intéressant de stocker le nombre maximum de points dans un champs statique ?
  2. Ecrire le constructeur ainsi que la méthode add(). Sachant que l'on ne va pas écrire de code spécifique si l'on dépasse le nombre maximum de points authorisés, que va t'il se passer ?
  3. Ecrire une méthode pointCapacity renvoyant le nombre de point maximum de la PolyLine.
  4. Que doit faire d'intelligent (SVP) si on ajoute un point à une PolyLine possédant déjà son nombre maximum de points.
    Implanter la solution retenue.
  5. Ecrire une méthode pointCount qui renvoie le nombre de points constituant actuellement la PolyLine.
  6. Ecrire une méthode contains qui renvoie vrai si le point passé en argument est un des points constitutifs de la PolyLine.
  7. Que se passe t'il si l'on fait un contains avec null en argument ?
    Et un add avec null en argument ?

Exercice 2 - Free PolyLine

On souhaite simplifier la vie de l'utilisateur d'une PolyLyne en lui évitant d'indiquer le nombre maximum de points.
Pour cela, on se propose de stocker les points dans une java.util.LinkedList.

  1. Ré-écrire le constructeur et la méthode add.
  2. Comment enlever le warning que le compilateur signale sur sur la méthode linkedList.add.
  3. Que faire de la méthode pointCapacity ?
  4. [A la maison] Ré-écrire pointCount et contains en regardant la doc de java.util.LinkedList.

Exercice 3 - Table de hachage

On souhaite afficher l'animal préférée de Bob, Alice ou June.
Alice a pour animal préféré : edith le singe.
Bob a pour animal préféré : izard le chamoix.
June a pour animal préféré : gold le poisson rouge.