This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2018_2019:s2:td:td_classe_code [2019/02/16 19:43] blay [A vous] |
2018_2019:s2:td:td_classe_code [2019/02/27 15:25] (current) blay [Des modèles aux codes et vis-versa] |
||
---|---|---|---|
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> | ||
+ | |||
+ | |||
+ | <note tip>**ObjectAid** | ||
+ | sous Install new software > add > http://www.objectaid.com/update/current ... | ||
+ | |||
+ | Puis après avoir relancé Eclipse, sous New > Other > Object Aid..> Classes .... ensuite vous posé simplement les classes à visualiser sur votre diagramme. | ||
+ | </note> | ||
===== Je comprends ===== | ===== Je comprends ===== | ||
Line 61: | Line 72: | ||
<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 110: | ||
<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 157: | ||
<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 284: | ||
<accordion collapsed="true"> | <accordion collapsed="true"> | ||
- | <panel title="Les codes correspondants"> | + | <panel icon="glyphicon glyphicon-download" title="Les codes correspondants"> |
Line 314: | Line 325: | ||
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 401: | Line 412: | ||
<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 435: | Line 446: | ||
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. | 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"> | <accordion collapsed="true"> | ||
- | <panel title="Les codes correspondants"> | + | <panel icon="glyphicon glyphicon-download" title="Les codes correspondants"> |
Line 547: | Line 558: | ||
- 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 587: | Line 601: | ||
</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 595: | Line 611: | ||
excaLight.setBelongsTo(Revan); | excaLight.setBelongsTo(Revan); | ||
</code> | </code> | ||
- | ===== A vous ==== | + | ===== 8) A vous ==== |
/* | /* | ||
Line 606: | Line 622: | ||
- 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 627: | Line 646: | ||
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 672: | Line 694: | ||
===== 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. | ||