TP3 : Manipulation des Interfaces et des Classes Abstraites en Java
Objectif :
L’objectif de ce TP est de manipuler les interfaces et les classes abstraites en Java. Vous
allez créer une hiérarchie de classes représentant des véhicules (voitures, motos, vélos,
etc.) et comprendre comment ces deux concepts peuvent être utilisés pour définir des
comportements communs tout en permettant une personnalisation spécifique dans les
sous-classes.
Consignes :
1. Création de l’interface Vehicule :
○ Définir une interface Vehicule avec les méthodes suivantes :
■ void demarrer(); : démarre le véhicule.
■ void arreter(); : arrête le véhicule.
■ void klaxonner(); : fait un bruit de klaxon.
2. Création de la classe abstraite VehiculeTerrestre :
○ Créer une classe abstraite VehiculeTerrestre qui implémente l'interface
Vehicule.
○ Ajouter un attribut modeDeTransport pour indiquer que le véhicule est
terrestre (par exemple, "roues").
○ Implémenter la méthode klaxonner() de manière générique dans la classe
abstraite (tous les véhicules terrestres peuvent klaxonner de la même
manière).
3. Création des sous-classes pour des types de véhicules spécifiques :
○ Créer une classe Voiture qui étend VehiculeTerrestre. Cette classe
doit implémenter les méthodes demarrer() et arreter() pour un véhicule
de type voiture.
○ Créer une classe Moto qui étend VehiculeTerrestre. Cette classe doit
implémenter les méthodes demarrer() et arreter() pour un véhicule de
type moto.
○ Créer une classe Bicycle qui implémente l'interface Vehicule (et non pas
VehiculeTerrestre), car le vélo est un véhicule non motorisé. Cette
classe doit implémenter les méthodes demarrer() et arreter(). La
méthode klaxonner() doit indiquer que le vélo n’a pas de klaxon.
4. Création d’un programme principal :
○ Dans le programme principal, instancier les classes Voiture, Moto, et
Bicycle.
○ Tester les différentes méthodes (démarrer, arrêter, klaxonner) pour chaque
véhicule.
Exemples de comportements attendus :
● Lorsqu'un véhicule démarre, la méthode demarrer() doit afficher un message
indiquant que le véhicule a démarré.
● Lorsqu'un véhicule s'arrête, la méthode arreter() doit afficher un message
indiquant que le véhicule s'est arrêté.
● La méthode klaxonner() doit afficher un message indiquant le son du klaxon, sauf
pour le vélo où il est précisé qu'il n'a pas de klaxon.
Remarques :
● Utiliser l’héritage et la polymorphie pour gérer le comportement des véhicules de
manière flexible.
● Veiller à bien utiliser les classes abstraites pour fournir une base commune tout en
permettant à chaque véhicule d'avoir son propre comportement.
Ce TP te permettra de bien comprendre comment travailler avec les interfaces et les classes
abstraites en Java, et comment structurer un projet avec des concepts d'héritage et de
polymorphisme.