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 | ||
2017_2018:s2:td:td_domaine_partie_2 [2018/02/18 20:21] blay [Mise en facteur et Spécialisation : OutilElectrique (10mn)] |
2017_2018:s2:td:td_domaine_partie_2 [2018/03/05 12:11] blay [Utiliser une classe (25mn)] |
||
---|---|---|---|
Line 9: | Line 9: | ||
+ | <callout type="info" icon="true"> | ||
+ | Il ne reste que 4 séances en tout. | ||
+ | * La semaine du 5 mars est consacrée à cette feuille de TD. | ||
+ | * La semaine du 12 mars est consacrée à des révisions pour l'examen. Vous devez les préparer pour que ces séances soient vraiment efficaces. | ||
+ | </callout> | ||
===== Classe : Code et modélisation ===== | ===== Classe : Code et modélisation ===== | ||
<note tip> | <note tip> | ||
Line 19: | Line 23: | ||
<note>Exercices inspirés de http://www.fresnel.fr/perso/derrode/index.html (le site a disparu... et je n'en trouve plus trace...)</note> | <note>Exercices inspirés de http://www.fresnel.fr/perso/derrode/index.html (le site a disparu... et je n'en trouve plus trace...)</note> | ||
+ | |||
+ | <note warning>Vous rencontrez beaucoup de soucis avec Modelio. \\ | ||
+ | Vous pouvez faire ce TD sur papier mais il vous manquera la génération des codes et le reverse-engineering des codes aux modèles. Vous devez alors voir précisément avec votre enseignant.\\ | ||
+ | L'outil VisualParadigm est beaucoup plus stable. Cependant il vous faut la version de test professionnelle pour avoir le générateur de codes.Vous l'aurez au moins jusqu'à la fin du module. | ||
+ | </note> | ||
<html> | <html> | ||
<!-- | <!-- | ||
Line 117: | Line 126: | ||
} | } | ||
</code> | </code> | ||
- | <note important> Maintenez le modèle et le code en cohérence((Code -> Java Round-trip)) .</note> | + | <note important> Maintenez le modèle et le code en cohérence((si outil : Code -> Java Round-trip)) .</note> |
==== Classe ''Tondeuse'' (10mn) ==== | ==== Classe ''Tondeuse'' (10mn) ==== | ||
Line 200: | Line 209: | ||
- Relancer vos tests **sans les modifier**! Ils doivent toujours fonctionner! | - Relancer vos tests **sans les modifier**! Ils doivent toujours fonctionner! | ||
- | ==== Spécialisation et Enuméré (10 mn) ==== | + | <accordion collapsed="true"> |
+ | /* ---------------- | ||
+ | */ | ||
+ | <panel title="Facultatif sur les énumérés" > | ||
+ | ==== (Facultatif) Spécialisation et Enuméré (10 mn) ==== | ||
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. | 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. | ||
- Modifier le **modèle** de la classe Tondeuse pour tenir compte de cette nouvelle information. Les Vitesses sont un //énuméré//. Créer une //enumeration// dans le modèle, lui ajouter les ''enumerate literal'' //arret//, ... | - Modifier le **modèle** de la classe Tondeuse pour tenir compte de cette nouvelle information. Les Vitesses sont un //énuméré//. Créer une //enumeration// dans le modèle, lui ajouter les ''enumerate literal'' //arret//, ... | ||
Line 227: | Line 240: | ||
| | ||
<note tip>N'hésitez pas à ajouter des commentaires dans vos codes, ils sont conservés par le java round-trip! </note> | <note tip>N'hésitez pas à ajouter des commentaires dans vos codes, ils sont conservés par le java round-trip! </note> | ||
+ | |||
+ | </panel> | ||
+ | </accordion> | ||
==== Utiliser une classe (25mn) ==== | ==== Utiliser une classe (25mn) ==== | ||
Line 240: | Line 256: | ||
- Compléter les codes correspondants. | - Compléter les codes correspondants. | ||
- Eventuellement par reverse-engineering, reconstruisez votre modèle. | - Eventuellement par reverse-engineering, reconstruisez votre modèle. | ||
- | - Evidemment tester votre programme. Voici un exemple de trace possible à l'exécution des tests. | + | - Evidemment tester votre programme. Voici un exemple de trace possible à l'exécution des tests. |
<code> | <code> | ||
=========================TESTS Jardinier =================== | =========================TESTS Jardinier =================== | ||
Line 255: | Line 271: | ||
- | <note warning>Cela fait 1h. Si vous avez mis plus d'une heure pour arriver là vous êtes en retard ! </note> | + | Pour vous aider : |
+ | * Vous ne pouvez pas modifier le nom du Jardinier donc vous devez lui donner un nom à la création, pour cela vous créez un constructeur : | ||
+ | <code> | ||
+ | public Jardinier(String nom) { | ||
+ | this.nom = nom; | ||
+ | } | ||
+ | </code> | ||
+ | * Pour créer un jardinier maintenant, vous devez lui donner un nom. | ||
+ | <code> | ||
+ | Jardinier monJardinier = new Jardinier("R2-D2"); | ||
+ | </code> | ||
+ | * Pour visualiser un objet java, vous pouvez redéfinir son affichage en implémenentant une méthode ''String ToString()'' par exemple : | ||
+ | <code> | ||
+ | public String toString() { | ||
+ | String s = "Je suis " + nom ; | ||
+ | if (outil== null) | ||
+ | s += " : je n'ai pas d'outil "; | ||
+ | else | ||
+ | s += ", je tiens : " + outil ; | ||
+ | return s; | ||
+ | } | ||
+ | </code> | ||
===== Allons plus loin ===== | ===== Allons plus loin ===== | ||