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:39]
blay [4) Je sais passer du modèle d'une association 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 273: Line 280:
  
 <​accordion ​ collapsed="​true">​ <​accordion ​ collapsed="​true">​
-<panel title="​Les codes correspondants">​+<​panel ​icon="​glyphicon glyphicon-download" ​title="​Les codes correspondants">​
  
  
Line 314: Line 321:
 Complétons la classe ''​Engine''​ pour manipuler les pilotes. Complétons la classe ''​Engine''​ pour manipuler les pilotes.
 <​accordion ​ collapsed="​true">​ <​accordion ​ collapsed="​true">​
-<panel title="​Les codes correspondants">​+<​panel ​icon="​glyphicon glyphicon-download" ​title="​Les codes correspondants">​
  
 <code java> <code java>
Line 399: 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 421: 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 428: 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 487: Line 503:
 </​code>​ </​code>​
  
 +</​panel> ​
 +</​accordion>​
 Nous testons ce code. Nous testons ce code.
 <code java> <code java>
Line 510: 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 536: 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 576: 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 584: Line 607:
  excaLight.setBelongsTo(Revan);​  excaLight.setBelongsTo(Revan);​
 </​code>​ </​code>​
-===== A vous ====+===== 8) A vous ====
  
 /*  /* 
Line 595: 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 616: 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 661: 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