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, moyen ou rapide. Il est possible de changer la vitesse de la tondeuse. Au démarrage, sa vitesse est toujours à moyenne. 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.moyen +"==>" + maTondeuse.getVitesse()); maTondeuse.switchOff();
Il s'agit de développer à présent un robot “Jardinier”. On peut donner un outil à un jardinier, lui demander de travailler ou d'arrêter de travailler.
Jardinier
.=========================TESTS Jardinier =================== Bonjour Je suis R2-D2 : je n'ai pas d'outil Début du travail pour le jardinier : Donnez-moi un outil! On lui a donné la tondeuse : Je suis R2-D2, je tiens : Tondeuse [vitesse=arret, cadence=0] Debut du travail pour le jardinier : Je démarre : Tondeuse [vitesse=moyen, cadence=1000] Arret du travail pour le jardinier : Merci, la journée a été dure! La tondeuse doit être à l'arrêt : Tondeuse [vitesse=arret, cadence=0] Le jardinier n'a plus d'outil : Je suis R2-D2 : je n'ai pas d'outil
A présent notre robot peut utiliser un véhicule.
Un véhicule
a une position (X, Y en entier).
Il peut se déplacer sur l'axe des x, de y ou XY.
Un charriot
est un véhicule qui se déplace d'un delta de 1O à chaque demande de déplacement : s'il est en (0,0), déplacer le chariot sur X l'amène en (10,0), puis en déplacement sur XY l'amène en (20,10).
Une “fusee” est un véhicule qui se déplace d'un delta de 1O0 à chaque demande de déplacement.
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.