S2T
- TDs première période
Eléments de Correction
Eléments de Correction
This is an old revision of the document!
Objectif : Faire un lien direct entre la modélisation des classes et les codes correspondants.
Un taille haie est caractérisé par sa cadence de coupe, typiquement 4500 coupes/minute.
TailleHaie
.main
et votre test peut ressembler à ce qui suit.public class TestOutils { public static void main(String[] args) { TailleHaie monTailleHaie = new TailleHaie(); System.out.println("Taille Haie crée : " + monTailleHaie); System.out.println("==> Test init : " + (monTailleHaie.getCadence() == 0) ); monTailleHaie.switchOn(); System.out.println("Cadence du Taille Haie en fonctionnement : " + monTailleHaie.getCadence()); System.out.println("==> Test fonctionnement : " + (monTailleHaie.getCadence() == 4500) ); monTailleHaie.switchOff(); System.out.println("Cadence du Taille Haie à l'arret : " + monTailleHaie.getCadence()); System.out.println("==> Test Arret : " + (monTailleHaie.getCadence() == 0) ); } }
Sur le même modèle, une tondeuse est caractérisée par la vitesse de rotation de sa lame, typiquement 1000 Tour/minute. On prévoira
System.out.println("=========================TESTS TONDEUSE==================="); Tondeuse maTondeuse = new Tondeuse(); System.out.println("Tondeuse crée : " + maTondeuse); System.out.println("==> Test init : " + (maTondeuse.getCadence() == 0) ); maTondeuse.switchOn(); System.out.println("Cadence de Tondeuse en fonctionnement : " + maTondeuse.getCadence()); System.out.println("==> Test fonctionnement : " + (maTondeuse.getCadence() == 1000) ); maTondeuse.switchOff(); System.out.println("Cadence de Tondeuse à l'arret : " + maTondeuse.getCadence()); System.out.println("==> Test Arret : " + (maTondeuse.getCadence() == 0) );
OutilElectrique
.TailleHaie
et Tondeuse
. La tondeuse a plusieurs vitesses de traction possibles : arret, lent, moyenne ou rapide. Il est possible de changer la vitesse de la tondeuse. Au démarrage, sa vitesse est toujours à l'arrêt. Lorsque l'on éteint la tondeuse sa vitesse passe à arrêt.
enumerate literal
arret, … v = Vitesse.arret;
System.out.println("=========================TESTS TONDEUSE ETENDU ==================="); //La tondeuse a plusieurs vitesses de traction possibles : arret, lent, moyenne ou rapide. maTondeuse.switchOff(); System.out.println("Vitesse de Tondeuse à l'arret attendue "+ Vitesse.arret +"==>" + maTondeuse.getVitesse()); //Il est possible de changer la vitesse de la tondeuse. maTondeuse.switchOn(); System.out.println("Vitesse de Tondeuse au démarrage attendue "+ Vitesse.arret +"==>" + maTondeuse.getVitesse()); maTondeuse.setVitesse(Vitesse.moyen); System.out.println("Vitesse de Tondeuse attendue "+ Vitesse.moyen +"==>" + maTondeuse.getVitesse()); maTondeuse.setVitesse(Vitesse.rapide); System.out.println("Vitesse de Tondeuse attendue "+ Vitesse.rapide +"==>" + maTondeuse.getVitesse()); //Au démarrage, sa vitesse est toujours à l'arrêt. Lorsque l'on éteint la tondeuse sa vitesse passe à arrêt. maTondeuse.switchOff(); System.out.println("Vitesse de Tondeuse à l'arret attendue "+ Vitesse.arret +"==>" + maTondeuse.getVitesse()); maTondeuse.setVitesse(Vitesse.rapide); maTondeuse.switchOn(); System.out.println("Vitesse de Tondeuse au démarrage attendue (alors que on a modifie sa vitesse "+ Vitesse.arret +"==>" + maTondeuse.getVitesse()); maTondeuse.switchOff();
TailleHaie
et une Tondeuse
et utilise les services à leur disposition.
Il s’agit de créer une représentation UML d’une classe Jardinier
dont les attributs seront le prénom du jardinier et l’outil électrique qu’il doit utiliser pour travailler (un taille haie ou une tondeuse). Au moment de sa création, on suppose que le jardiner n’a pas d’outil en main. L’outil à utiliser sera transmis comme argument à une méthode startTravail
(…). Prévoyez également une méthode stopTravail
(…). Quand le jardinier stoppe le travail, il ne lâche pas l'outil.
Point
correspondante. Vous pouvez aussi procéder par reverse engineering (classe Point)Un polygone est composé d'un ensemble de points.
Polygone
en UML. ToString
addPoint
qui ajoutera un point à ceux déjà présents. Polygone
en UML.
private
et donc ne rien dire, soit le mettre en protected
, soit mieux utiliser les accesseurs.