SRC2 TD2 Java
TD java : les interfaces
Objectif : comprendre ce qu'est une interface. Application pratique : le TP sur l'animation (interfaces MouseListener, KeyListener, ActionListener, Runnable... qui donnent à un objet, un composant graphique par exemple, de nouveaux comportements : écouter et gérer un événement clavier, souris..)
Création de deux classes Personne et Voiture
1. Créez deux classes Personne et Voiture (vous pouvez reprendre des choses faites lors des TDs précédents, mais créez un nouveau projet !), en leur donnant au moins une méthode sePresenter() qui retourne une chaîne de caractères qui présente l'objet courant. Une Voiture aura un attribut reservoir qui dit combien il reste d'essence dans le réservoir, un attribut consommation qui dit combien elle consomme de litres en 100km, et un attribut distanceParcourue qui dit quelle distance la voiture a parcouru.
2. Créez une classe Monde où sera le main et créez une Voiture et une Personne. Une Personne aussi aura un attribut distanceParcourue qui dira quelle distance il a parcouru dans sa vie !
Création et utilisation de l'interface PeutBouger
1. Créez une interface PeutBouger disposant d'un attribut de classe distanceParcourue et d'une méthode bouger().
Il s'agit d'une interface, donc il n'y a qu'à créer le prototype de cette méthode, rien à implémenter !
2. Vos deux classes Personne et Voiture doivent maintenant implémenter cette interface, car une voiture et une personne peuvent tous deux se déplacer, et on va vouloir gérer leur déplacement. Vous voyez que cela vous oblige à implémenter la méthode bouger(), à la fois dans Personne et dans Voiture. Une voiture qui bouge consommera un peu d'essence, augmentera sa distance parcourue, etc..
3. Dans la classe Monde, créez une méthode statique savoirDistanceParcourue qui prend en paramètre un objet de type PeutBouger et qui doit dire combien l'objet a parcouru de kilomètres dans sa vie. Utilisez cette méthode, dans le main, sur une voiture et sur une personne.
4. Créez une classe Employé, munie d'un attribut de classe profession et de méthodes de votre choix (mais ne redénissez pas la méthode bouger(). Dans la classe Monde, créez un employé, faites- le bouger. Utilisez ensuite la méthode savoirDistanceParcourue pour acher la distance qu'il a parcouru.