This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
2013_2014:s2:td:td_classes-code [2014/03/18 15:03] blay [Mise en facteur, Spécialisation et énuméré: OutilElectrique] |
2013_2014:s2:td:td_classes-code [2015/04/18 07:43] blay [Classe ''TailleHaie''] |
||
---|---|---|---|
Line 27: | Line 27: | ||
- Générer ou écrivez le code java correspondant à cette classe((Code->Java-roundtrip .. l'objectif est de maintenir la cohérence entre le modèle et le code)). On prévoira un constructeur qui initialisera le tailleHaie dans l’état éteint, avec une cadence de 0. Les exceptions levées dans le corps des méthodes générées permettent de signaler les méthodes encore non implémentées. Vous devez retirer les levées d'exception en implémentant les méthodes. | - Générer ou écrivez le code java correspondant à cette classe((Code->Java-roundtrip .. l'objectif est de maintenir la cohérence entre le modèle et le code)). On prévoira un constructeur qui initialisera le tailleHaie dans l’état éteint, avec une cadence de 0. Les exceptions levées dans le corps des méthodes générées permettent de signaler les méthodes encore non implémentées. Vous devez retirer les levées d'exception en implémentant les méthodes. | ||
- On veut pouvoir connaître la cadence du ''TailleHaie''. | - On veut pouvoir connaître la cadence du ''TailleHaie''. | ||
+ | - Tester votre code. Si vous n'avez pas encore vu la notion de Test en java vous pouvez mettre vos tests dans un main et votre test peut ressembler à ce qui suit. | ||
+ | <code java> | ||
+ | public class TestOutils { | ||
- | <note important> Maintenez le modèle et le code en cohérence((Code -> Java Round-trip)) .</note> | + | 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) ); | ||
+ | |||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <note important> Maintenez le modèle et le code en cohérence((Code -> Java Round-trip)) .</note> | ||
==== Classe ''Tondeuse'' ==== | ==== Classe ''Tondeuse'' ==== | ||
Line 55: | Line 73: | ||
- 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. | ||
Line 70: | Line 88: | ||
- Etant données les [[http://docs.oracle.com/javase/7/docs/api/java/awt/Point.html|spécifications suivantes]] en omettant tous les accesseurs dessiner la classe ''Point'' correspondante. Vous pouvez aussi procéder par reverse engineering {{:2013_2014:s2:td:point.java.zip|(classe Point)}} | - Etant données les [[http://docs.oracle.com/javase/7/docs/api/java/awt/Point.html|spécifications suivantes]] en omettant tous les accesseurs dessiner la classe ''Point'' correspondante. Vous pouvez aussi procéder par reverse engineering {{:2013_2014:s2:td:point.java.zip|(classe Point)}} | ||
+ | <note>Et si nous voulions à présent travaillez avec des points en coordonnées polaires, que ferions-nous? </note> | ||
==== Utilisation d'une classe : Chemin et Trajet ==== | ==== Utilisation d'une classe : Chemin et Trajet ==== | ||