SEQUENCE 2 : Un peu d'héritage, de Vecteurs et d'Enumeration

On veut créer une application permettant d'animer des "mobiles". Un mobile se déplace selon ses coordonnées (x et y), possède à tout moment une vitesse et une accélération. A partir d'une position (x,y) au temps T, un mobile ayant une vitesse (vx,vy) et une accélération (gx,gy), a ses nouveaux paramètres au temps T+1 calculés par
          x:=x+vx;
          y:=y+vy;
          vx:=vx+gx;
          vy:=vy+gy;
De plus, chaque mobile possède un nom, et un numéro d'ordre de création. On souhaite que la seule façon de contrôler le mouvement d'un mobile soit de lui donner une position initiale, ou de modifier son accélération. On utilisera la classe Point du package java.awt.

  • Définir une classes Mobile contenant divers constructeurs surchargés en fonction de l'initialisation souhaitée. On définira une méthode move permettant de bouger un mobile. On redéfinira la méthode toString() afin de pouvoir imprimer un objet de la classe Mobile. Enfin, on écrira une classe méthode main permettant de tester l'implémentation.

  • Peut-on définir Mobile comme sous-classe java.awt.Point ? Pourquoi?

  • On désire animer des mobiles ayant des caractéristiques particulières : Définir une classe Velo pour ses mobiles et tester.

  • Ecrire une classe Mobiles gérant une liste de mobiles. On utilisera la classe Vector.