US

Projet 5 : Écrire des classes

Ce projet tourne autour de l'écriture de classes et de méthodes, comment écrire une classe ? Comment utiliser une classe ? Il est important de voir la différence entre classes et objets, ces derniers étant des instances d'une classe.

Le problème

On a envie de simuler une course automobile, on va donc devoir manipuler des voitures. On a diverses informations sur la voiture : sa position, sa vitesse et son accélération. Que peut-t'on faire avec une voiture ? On peut connaitre sa position et on peut la mettre à jour.

Définir les classes

Comme d'habitude, commencez par créer un nouveau projet dans Eclipse, on le nommera Projet5. Une fois le projet créé, on doit décider quelles sont les classes dont on va avoir besoin et les relations qui vont exister entre ces classes. On aura comme toujours une classe avec la méthode main qui sera le point d'entrée du programme, on peut donc créer une classe Projet5 avec une méthode main.

Ensuite, on doit pouvoir représenter la position, vitesse et accélération des voitures, on va donc créer une classe qui représente un vecteur dans le plan (on suppose que les voitures se déplacent dans un plan), la classe Vector2D. Enfin, il nous reste une dernière classe à faire, la classe Car qui représente une voiture.

Une fois ces trois classes créées, vous devriez les voir dans l'explorateur de package dans la partie gauche d'Eclipse. Cet onglet est très utile pour naviguer facilement parmi toutes les classes d'un projet.

Explorateur de package
fig j1 Explorateur de package

On a donc deux classes à écrire : la classe Vector2D qui représente un vecteur dans le plan et la classe Car qui représente une voiture.

La classe Vector2D

Que retrouve-t'on dans une classe ? On a des variables d'instance, des constructeurs et des méthodes.

Variables d'instance

Commençons par les variables d'instance, il faut se poser la question, qu'est-ce-qu'un vecteur dans le plan, comment le caractériser ? Un vecteur dans le plan, c'est en fait deux coordonnées réelles, une abscisse et une ordonnée, on va donc mettre deux variables d'instance dans la classe.