This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
2013_2014:s2:td:td_classes-code [2014/03/18 14:34] blay [Classe ''TailleHaie''] |
2013_2014:s2:td:td_classes-code [2014/03/29 14:21] blay [Tester] |
||
---|---|---|---|
Line 44: | Line 44: | ||
- Mettez en facteur les éléments qui peuvent l'être dans la modélisation UML en ajoutant une classe ''OutilElectrique''. | - Mettez en facteur les éléments qui peuvent l'être dans la modélisation UML en ajoutant une classe ''OutilElectrique''. | ||
- | - En fonction de vos choix, déterminer s'il s'agit d'une classe abstraite ou non. | + | - En fonction de vos choix, déterminer s'il s'agit d'une classe abstraite ou non. ((un attribut privé n'est pas accessible par les sous-classes; vous devez soit ne pas dire ''private'' et donc ne rien dire, soit le mettre en ''protected'')) |
- Modifier la modélisation et les codes en conséquences. | - Modifier la modélisation et les codes en conséquences. | ||
- Réécrire en conséquence les classes ''TailleHaie'' et ''Tondeuse''. | - Réécrire en conséquence les classes ''TailleHaie'' et ''Tondeuse''. | ||
- | - A la classe Tondeuse uniquement, ajouter un service setVitesse(Vitesse v) dont l’objectif est de fixer la vitesse de traction de la tondeuse (vitesses possibles : arret, lent, moyenne ou rapide). Les Vitesses sont un énuméré. | + | - A la classe Tondeuse uniquement, ajouter un service setVitesse(Vitesse v) dont l’objectif est de fixer la vitesse de traction de la tondeuse (vitesses possibles : arret, lent, moyenne ou rapide). Les Vitesses sont un énuméré ((Créer une //enumeration// dans le modèle, lui ajouter les ''enumerate literal'' //arret//, ... Pour accéder dans votre code par exemple à l'énuméré "arret", vous écrirez par exemple, ''v = Vitesse.arret;'' )) |
- Redessiner le schéma UML de l’ensemble des classes et mettez les codes en cohérence (éteindre la tondeuse passe la vitesse à arrêt). | - Redessiner le schéma UML de l’ensemble des classes et mettez les codes en cohérence (éteindre la tondeuse passe la vitesse à arrêt). | ||
| | ||
Line 55: | Line 55: | ||
- Ecrire un programme principal qui crée un ''TailleHaie'' et une ''Tondeuse'' et utilise les services à leur disposition. | - Ecrire un programme principal qui crée un ''TailleHaie'' et une ''Tondeuse'' et utilise les services à leur disposition. | ||
+ | <note tip>N'hésitez pas à ajouter des commentaires dans vos codes, ils sont conservés par le java round-trip! </note> | ||
==== Utiliser une classe ==== | ==== Utiliser une classe ==== | ||
- | 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''(…). | + | 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. |
- Complétez la représentation UML des liens entre les classes. | - Complétez la représentation UML des liens entre les classes. | ||
- Générer les codes correspondants. Si les résultas ne vous satisfont pas, corriger votre modèle. En particulier, vous devrez utiliser la navigation entre les classes. | - Générer les codes correspondants. Si les résultas ne vous satisfont pas, corriger votre modèle. En particulier, vous devrez utiliser la navigation entre les classes. |