2017_2018:s2:td:td_domaine_partie_2
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| 2017_2018:s2:td:td_domaine_partie_2 [2018/02/18 19:11] – [Classe ''Tondeuse'' (5mn)] blay | 2017_2018:s2:td:td_domaine_partie_2 [2018/03/05 16:43] (current) – [Utiliser une classe (25mn)] blay | ||
|---|---|---|---|
| Line 9: | Line 9: | ||
| + | <callout type=" | ||
| + | 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' | ||
| + | </ | ||
| ===== Classe : Code et modélisation ===== | ===== Classe : Code et modélisation ===== | ||
| <note tip> | <note tip> | ||
| Line 19: | Line 23: | ||
| < | < | ||
| + | |||
| + | <note warning> | ||
| + | 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' | ||
| + | </ | ||
| < | < | ||
| < | < | ||
| Line 117: | Line 126: | ||
| } | } | ||
| </ | </ | ||
| - | <note important> | + | <note important> |
| ==== Classe '' | ==== Classe '' | ||
| Sur le même modèle, | Sur le même modèle, | ||
| * la vitesse | * la vitesse | ||
| + | * une cadence; | ||
| * switchOn()+: | * switchOn()+: | ||
| * switchOff()+: | * switchOff()+: | ||
| Line 145: | Line 155: | ||
| - Mettez en facteur les éléments qui peuvent l' | - Mettez en facteur les éléments qui peuvent l' | ||
| - | - En fonction de vos choix, | + | - Pour les plus avancés, en fonction de vos choix, |
| - | - Modifier la modélisation et les codes en conséquences. | + | - Modifier la modélisation et les codes en conséquence.(( |
| + | <code java> | ||
| + | public abstract class OutilElectrique { | ||
| + | private int cadence = 4500; | ||
| + | |||
| + | public int getCadence() { | ||
| + | return this.cadence; | ||
| + | } | ||
| + | |||
| + | protected void setCadence(int cadence){ | ||
| + | this.cadence = cadence; | ||
| + | } | ||
| + | |||
| + | public OutilElectrique() { | ||
| + | this.cadence = 0; | ||
| + | } | ||
| + | |||
| + | public boolean isOn(){ | ||
| + | return cadence != 0; | ||
| + | } | ||
| + | |||
| + | public void switchOff() { | ||
| + | cadence = 0; | ||
| + | } | ||
| + | |||
| + | public abstract void switchOn(); | ||
| + | |||
| + | @Override | ||
| + | public String toString() { | ||
| + | return " | ||
| + | } | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| + | Pour la classe qui étend : | ||
| + | |||
| + | <code java> | ||
| + | public class TailleHaie extends OutilElectrique{ | ||
| + | |||
| + | public void switchOn() { | ||
| + | this.setCadence(4500); | ||
| + | } | ||
| + | |||
| + | // | ||
| + | public TailleHaie(){ | ||
| + | this.setCadence(0); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | )) | ||
| - Réécrire | - Réécrire | ||
| - 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) ==== | + | < |
| + | /* ---------------- | ||
| + | */ | ||
| + | <panel title=" | ||
| + | ==== (Facultatif) | ||
| 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 // | - Modifier le **modèle** de la classe Tondeuse pour tenir compte de cette nouvelle information. Les Vitesses sont un // | ||
| Line 177: | Line 241: | ||
| | | ||
| <note tip> | <note tip> | ||
| + | |||
| + | </ | ||
| + | </ | ||
| ==== Utiliser | ==== Utiliser | ||
| Line 190: | Line 257: | ||
| - Compléter | - Compléter | ||
| - Eventuellement par reverse-engineering, | - Eventuellement par reverse-engineering, | ||
| - | - Evidemment tester votre programme. Voici un exemple de trace possible à l' | + | - Evidemment tester votre programme. Voici un exemple de trace possible à l' |
| < | < | ||
| =========================TESTS Jardinier =================== | =========================TESTS Jardinier =================== | ||
| Line 205: | Line 272: | ||
| - | <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> | ||
| + | | ||
| + | // Un constructeur qui prend le nom en parametre | ||
| + | public Jardinier(String nom) { | ||
| + | this.nom = nom; | ||
| + | } | ||
| + | </ | ||
| + | * Pour créer un jardinier maintenant, | ||
| + | < | ||
| + | Jardinier monJardinier = new Jardinier(" | ||
| + | </ | ||
| + | * Pour visualiser un objet java, vous pouvez redéfinir son affichage | ||
| + | <code> | ||
| + | public String toString() { | ||
| + | String s = "Je suis " + nom ; | ||
| + | if (outil== null) | ||
| + | s += " : je n'ai pas d' | ||
| + | else | ||
| + | s += ", je tiens : " + outil ; | ||
| + | return s; | ||
| + | } | ||
| + | </ | ||
| ===== Allons plus loin ===== | ===== Allons plus loin ===== | ||
2017_2018/s2/td/td_domaine_partie_2.1518981075.txt.gz · Last modified: 2018/02/18 19:11 by blay