User Tools

Site Tools


2017_2018:s2:td:td_domaine_partie_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
2017_2018:s2:td:td_domaine_partie_2 [2018/02/18 19:19] – [Mise en facteur et Spécialisation : OutilElectrique (10mn)] blay2017_2018:s2:td:td_domaine_partie_2 [2018/03/05 16:43] (current) – [Utiliser une classe (25mn)] blay
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) ====
  
 Sur  le  même  modèle,  une  tondeuse  est  caractérisée  par   Sur  le  même  modèle,  une  tondeuse  est  caractérisée  par  
     * la  vitesse  de  rotation  de  sa  lame,  typiquement 1000 Tour/minute;     * la  vitesse  de  rotation  de  sa  lame,  typiquement 1000 Tour/minute;
 +    * une cadence;
     * switchOn()+: méthode qui allume l’outil et fixe la cadence à 1000;     * switchOn()+: méthode qui allume l’outil et fixe la cadence à 1000;
     * switchOff()+: méthode qui éteint l’outil et fixe la cadence à 0.      * switchOff()+: méthode qui éteint l’outil et fixe la cadence à 0. 
Line 172: Line 182:
  
  public abstract void switchOn();  public abstract void switchOn();
- 
  
  @Override  @Override
Line 183: Line 192:
  
 Pour la classe qui étend :  Pour la classe qui étend : 
-<code java+ 
 +<code java>
 public class TailleHaie extends OutilElectrique{ public class TailleHaie extends OutilElectrique{
  
Line 194: Line 204:
  this.setCadence(0);  this.setCadence(0);
  }  }
-  
- 
- 
 } }
 </code> </code>
Line 203: Line 210:
   - 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 230: Line 241:
      
 <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 243: Line 257:
   - 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 258: Line 272:
  
  
-<note warning>Cela fait 1hSi 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 class Jardinier{ 
 +        // Un constructeur qui prend le nom en parametre 
 + 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 =====
  
2017_2018/s2/td/td_domaine_partie_2.1518981547.txt.gz · Last modified: 2018/02/18 19:19 by blay