Vous êtes sur la page 1sur 2

TP 

: les interfaces

Dans le cadre du développement d’un jeu de plateau, nous souhaitons simuler les
déplacements du héros en fonction du moyen de transport qu’il utilise. Il dispose d’une
voiture, d’un ascenseur et d’une fusée.
L’objectif est de décrire les déplacements du personnage en utilisant le mécanisme des
interfaces.
Exercice 1
a. Définir l’interface Deplacement en décrivant les méthodes deplacementEnX(),
deplacementEnY() et seDeplacer().
b. Créer la classe MoyenDeTransport qui possède trois propriétés x , y et vitesse, ainsi
qu’une constante de déplacement vitesseInitiale valant 10.
c. Dans la classe MoyenDeTransport, définir :
 Les méthodes deplacementEnX() et deplacementEnY(). Le moyen de transport
n’étant pas encore défini, aucune instruction ne les compose.
 La méthode seDeplacer() qui appelle les deux méthodes précédentes
 La méthode afficher() qui affiche à l’écran la position du héros.
d. Chaque moyen de transport ayant sa propre limitation de vitesse, écrire la méthode
limitation() qui initialise la vitesse de l’objet à l’aide du premier paramètre et
détermine si cette nouvelle vitesse dépasse la limite fixée en second paramètre. Si tel
est le cas, la vitesse de l’objet devient la vitesse limite.

Exercice 2
Le comportement général d’un moyen de transport étant défini, vous devez maintenant
décrire chaque moyen de transport au sein d’une classe spécifique. Pour cela, il convient
de :
a. Décrire la classe Voiture. Sachant qu’avec ce moyen de transport, le héros ne peut se
déplacer qu’avec une vitesse qui est jusqu’à dix fois plus rapide que la vitesse initiale,
tout en ne dépassant pas plus de 150. La classe Voiture hérite de la classe
MoyenDeTransport. Une voiture ne se déplace qu’à l’horizontal, seule la méthode
deplacementEnX() est à redéfinir, en incrémentant la position en X de l’objet avec sa
vitesse.
b. Décrire la classe Ascenseur. Sachant qu’avec ce moyen de transport, le héros ne peut
se déplacer qu’avec une vitesse qui est jusqu’à cinq fois plus rapide que la vitesse
initiale, tout en ne pouvant pas dépasser 50. La classe Ascenseur hérite de la classe
MoyenDeTransport. Un ascenseur ne se déplace qu’à la verticale, seule la méthode
deplacementEnY() est à redéfinir, en incrémentant la position en Y de l’objet avec sa
vitesse.
c. Décrire la classe Fusee. Sachant qu’avec ce moyen de transport, le héros ne peut se
déplacer qu’avec une vitesse qui est jusqu’à cent fois plus rapide que la vitesse initiale,
tout en ne pouvant pas dépasser 1200. La classe Fusee hérite de la classe
MoyenDeTransport. Une fusée se déplace à la verticale et à l’horizontale, les deux
méthodes deplacementEnY() et deplacementEnX() sont à redéfinir.

Exercice 3
Ecrire l’application UnHerosSeDeplace dont la fonction main() crée trois véhicules de
type Voiture, Ascenseur et Fusee.
a. Déplacer les objets en utilisant la méthode seDeplacer(). Vérifier que chaque objet se
déplace correctement en affichant sa position

Vous aimerez peut-être aussi