User Tools

Site Tools


2018_2019:s2:td:td_classe_code

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
2018_2019:s2:td:td_classe_code [2019/02/16 19:37]
blay [3) Je sais passer du modèle d'une classe avec un attribut et une méthode au code]
2018_2019:s2:td:td_classe_code [2019/02/25 09:13]
blay
Line 5: Line 5:
 **Objectifs :**  **Objectifs :** 
      - Faire un lien direct entre la modélisation des classes et les codes correspondants.      - Faire un lien direct entre la modélisation des classes et les codes correspondants.
- + <note important>​Nous faisons le lien entre modèles et codes.  
-<note important>​Nous faisons le lien entre modèles et codes.  +Vous pouvez travailler les codes uniquement au niveau du papier ​(mais c'est peut-être dommage).
-Vous pouvez travailler les codes uniquement au niveau du papier.+
 Vous devez essentiellement comprendre les grands principes. Vous devez essentiellement comprendre les grands principes.
 </​note>​ </​note>​
 +
 +<alert type="​success"​ icon="​glyphicon glyphicon-time"​ dismiss="​true">​
 +TD de 4 h.\\
 +Il n'y a pas de rendus associé à ce TD, cependant il doit faire partie du carnet de bord.
 +Donc notez bien les points qui vous semblent difficiles, les remarques qu'il vous semble important de diffuser, etc.
 +</​alert>​
 +
 +
  
 ===== Je comprends ===== ===== Je comprends =====
Line 61: Line 68:
  
 <​accordion ​ collapsed="​true">​ <​accordion ​ collapsed="​true">​
-<panel title="​Les codes correspondants">​+<​panel ​icon="​glyphicon glyphicon-download"  ​title="​Les codes correspondants">​
 Le concept d'"​Engin"​ modélisé ici sous la forme d'une classe contient à présent un attribut qui permet d'​exprimer la puissance. Il sera représenté par le code suivant :  Le concept d'"​Engin"​ modélisé ici sous la forme d'une classe contient à présent un attribut qui permet d'​exprimer la puissance. Il sera représenté par le code suivant : 
  
Line 99: Line 106:
  
 <​accordion ​ collapsed="​true">​ <​accordion ​ collapsed="​true">​
-<panel title="​Ajout des accesseurs">​+<​panel ​icon="​glyphicon glyphicon-download" ​title="​Ajout des accesseurs">​
  
 Le code de la classe Engin en java devient : Le code de la classe Engin en java devient :
Line 146: Line 153:
  
 <​accordion ​ collapsed="​true">​ <​accordion ​ collapsed="​true">​
-<panel title="​Les codes correspondants">​+<​panel ​icon="​glyphicon glyphicon-download" ​title="​Les codes correspondants">​
  
 **Code généré en java** **Code généré en java**
Line 271: Line 278:
 {{:​2017_2018:​s2:​td:​14450576294_886eb4b940_b.jpg?​300 |}} {{:​2017_2018:​s2:​td:​14450576294_886eb4b940_b.jpg?​300 |}}
 {{:​2017_2018:​s2:​td:​capture_d_e_cran_2018-02-11_a_01.14.10.png?​500|}} {{:​2017_2018:​s2:​td:​capture_d_e_cran_2018-02-11_a_01.14.10.png?​500|}}
 +
 +<​accordion ​ collapsed="​true">​
 +<panel icon="​glyphicon glyphicon-download"​ title="​Les codes correspondants">​
 +
  
 **Code java correspondant ** **Code java correspondant **
Line 305: Line 316:
 </​code>​ </​code>​
  
 +</​panel>​  
 +</​accordion>​
  
 Complétons la classe ''​Engine''​ pour manipuler les pilotes. Complétons la classe ''​Engine''​ pour manipuler les pilotes.
 +<​accordion ​ collapsed="​true">​
 +<panel icon="​glyphicon glyphicon-download"​ title="​Les codes correspondants">​
 +
 <code java> <code java>
 public class Engine { public class Engine {
Line 347: Line 362:
 </​code>​ </​code>​
  
 +</​panel> ​
 +</​accordion>​
 On ajoute des tests On ajoute des tests
 <code java> <code java>
Line 389: Line 406:
 La classe ''​Pilot''​ générée est donc modifiée. La classe ''​Pilot''​ générée est donc modifiée.
 Remarquez que la multiplicité de 1 cette fois-ci crée un attribut simple de type Engine Remarquez que la multiplicité de 1 cette fois-ci crée un attribut simple de type Engine
 +
 +<​accordion ​ collapsed="​true">​
 +<panel icon="​glyphicon glyphicon-download"​ title="​Les codes correspondants">​
  
 <code java> <code java>
Line 411: Line 431:
 } }
 </​code>​ </​code>​
 +</​panel> ​
 +</​accordion>​
  
 Pour tester nous ajoutons à présent l'​engin defiance comme celui conduit par l'​amiral //nammo// Pour tester nous ajoutons à présent l'​engin defiance comme celui conduit par l'​amiral //nammo//
Line 418: Line 440:
 </​code>​ </​code>​
  
-Nous décidons à présent que l'on ne veut pas que n'​importe qui affecte un engin à un pilote (on passe la méthode setDrivenEngine en Protected) et que lorsque l'on affecte un pilote à un engin alors il en devient pilote. Nous modifions nos codes comme suit.+Nous décidons à présent que l'on ne veut pas que n'​importe qui affecte un engin à un pilote (on passe la méthode setDrivenEngine en Protected) et que lorsque l'on affecte un pilote à un engin alors il en devient pilote. Nous modifions nos codes. 
 +<​accordion ​ collapsed="​true">​ 
 +<panel icon="​glyphicon glyphicon-download"​ title="​Les codes correspondants">​ 
 + 
  
 <code java> <code java>
Line 477: Line 503:
 </​code>​ </​code>​
  
 +</​panel> ​
 +</​accordion>​
 Nous testons ce code. Nous testons ce code.
 <code java> <code java>
Line 500: Line 528:
  
 </​code>​ </​code>​
-===== A vous  =====+===== 6) A vous : appliquez tout seul ce qui précède ​=====
    
 {{:​2017_2018:​s2:​td:​capture_d_e_cran_2018-01-21_a_23.23.59.png?​200|}} {{:​2017_2018:​s2:​td:​capture_d_e_cran_2018-01-21_a_23.23.59.png?​200|}}
Line 526: Line 554:
    - Quel code correspond au diagramme de classe UML ci-dessus ?    - Quel code correspond au diagramme de classe UML ci-dessus ?
 */ */
-===== Je sais passer du modèle d'une relation d'​héritage au code ====+===== 7) Je sais passer du modèle d'une relation d'​héritage au code ====
  
 {{:​2017_2018:​s2:​td:​star-wars-the-old-republic-girl-warrior-lightsabers-battle-smoke-wallpaper-hd.jpg?​300 |}} {{:​2017_2018:​s2:​td:​star-wars-the-old-republic-girl-warrior-lightsabers-battle-smoke-wallpaper-hd.jpg?​300 |}}
 {{:​2017_2018:​s2:​td:​weapons.png?​400|}} {{:​2017_2018:​s2:​td:​weapons.png?​400|}}
 +
 +<​accordion ​ collapsed="​true">​
 +<panel icon="​glyphicon glyphicon-download"​ title="​Les codes correspondants au diagramme">​
  
  
Line 566: Line 597:
 </​code>​ </​code>​
  
 +</​panel> ​
 +</​accordion>​
  
 Je peux accéder au propriétaire d'une arme quelconque. Je peux accéder au propriétaire d'une arme quelconque.
Line 574: Line 607:
  excaLight.setBelongsTo(Revan);​  excaLight.setBelongsTo(Revan);​
 </​code>​ </​code>​
-===== A vous ====+===== 8) A vous ====
  
 /*  /* 
Line 585: Line 618:
    - Quel code correspond au diagramme de classe UML ci-dessus ?    - Quel code correspond au diagramme de classe UML ci-dessus ?
    - Imaginez que l'on veuille pouvoir demander à une ''​Armada''​ d'​attaquer,​ quelle méthode devez-vous ajouter?    - Imaginez que l'on veuille pouvoir demander à une ''​Armada''​ d'​attaquer,​ quelle méthode devez-vous ajouter?
 +   - <​accordion ​ collapsed="​true">​
 +<panel icon="​glyphicon glyphicon-download"​ title="​Voici le code de cette nouvelle méthode, si besoin">​
 +
    - Voici le code de cette nouvelle méthode :     - Voici le code de cette nouvelle méthode : 
 <code java> <code java>
Line 606: Line 642:
  sithArmada.attack();​  sithArmada.attack();​
 </​code>​ </​code>​
-===== Je sais passer du code au modèle =====+ 
 +</​panel>​  
 +</​accordion>​ 
 +===== 9) Je sais passer du code au modèle =====
  
 <​code>​ <​code>​
Line 651: Line 690:
  
 ===== Complétez le diagramme de séquence ===== ===== Complétez le diagramme de séquence =====
-Compléter les deux diagrammes pour introduire : +Compléter les diagrammes ​de classes et séquence ​pour introduire : 
       - les armadas attaquent. Chaque armada demande à ses engins d'​attaquer.       - les armadas attaquent. Chaque armada demande à ses engins d'​attaquer.
  
2018_2019/s2/td/td_classe_code.txt · Last modified: 2019/02/27 15:25 by blay