User Tools

Site Tools


2017_2018: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
2017_2018:s2:td:td_classe_code [2018/02/11 11:58]
blay [A vous]
2017_2018:s2:td:td_classe_code [2018/02/19 15:44] (current)
blay [Je sais passer du dessin d'une classe avec un attribut et une méthode au code]
Line 1: Line 1:
  
  
-====== ​Classes : modélisation ​et codage ​======+====== ​Des modèles aux codes et vis-versa ​======
  
 **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 modeles et codes. ​
 +Vous pouvez travailler les codes uniquement au niveau du papier.
 +Vous devez essentiellement comprendre les grands principes.
 +</​note>​
 +
 +<note tip>​L'​utilisation d'un outil pour coder n'est pas indispensable dans ce TD. Si vous le voulez vous pouvez utiliser ECLIPSE, mais la version NEON3, les autres ne fonctionnent pas...</​note>​
 ===== Je comprends ===== ===== Je comprends =====
  
 ==== Je sais passer du dessin d'une classe au code ==== ==== Je sais passer du dessin d'une classe au code ====
 +{{:​2017_2018:​s2:​td:​outrider.jpg?​300 |}}
  
 {{:​2017_2018:​s2:​td:​engin.png?​200|}} {{:​2017_2018:​s2:​td:​engin.png?​200|}}
Line 16: Line 23:
 ** En Java** ​ ** En Java** ​
 <code java> <code java>
-public class Engin {+public class Engine ​{
 } }
 </​code>​ </​code>​
Line 22: Line 29:
 ** En C#**  ** En C#** 
 <code c#> <code c#>
-public class Engin {+public class Engine ​{
 }; };
 </​code>​ </​code>​
Line 29: Line 36:
 <code php> <code php>
 <?php <?php
-public class Engin {+public class Engine ​{
 } }
 ?> ?>
Line 37: Line 44:
 On crée une instance d'​engin en java par le code suivant :  On crée une instance d'​engin en java par le code suivant : 
 <​code>​ <​code>​
-Engin defiance = new Engin();+Engine ​defiance = new Engine();
 </​code>​ </​code>​
 On crée un autre engin par :  On crée un autre engin par : 
 <​code>​ <​code>​
-Engin xwing = new Engin();+Engine ​xwing = new Engine();
 </​code>​ </​code>​
  
Line 90: Line 97:
  private int power;  private int power;
  
 +        //Accesseur en lecture : on lit la valeur de l'​attribut power
  public int getPower() {  public int getPower() {
  return power;  return power;
  }  }
 +        
 +       //​Accesseur en écriture : on modifie la valeur de l'​attribut power (noté this.power) avec la valeur en parametre power
  public void setPower(int power) {  public void setPower(int power) {
  this.power = power;  this.power = power;
Line 125: Line 134:
 **Code généré en java** **Code généré en java**
 <code java> <code java>
-public class Engin {+public class Engine ​{
  private int power;  private int power;
  
Line 140: Line 149:
  * @author blay  * @author blay
  */  */
-class Engin {+class Engine ​{
  /**  /**
  * @AttributeType int  * @AttributeType int
Line 159: Line 168:
  
 <code java> <code java>
-public class Engin {+public class Engine ​{
  private int power;  private int power;
  
Line 195: Line 204:
 </​code>​ </​code>​
 ==== Je sais passer du dessin d'une association au code ==== ==== Je sais passer du dessin d'une association au code ====
 +{{:​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|}}
  
Line 204: Line 213:
  private int power;  private int power;
  
-        //​Association becomes ​un attribute ; multiplicity * => array or any collections +        //​Association becomes ​an attribute ; multiplicity * => array or any collections 
- private Pilot[] pilots = new Pilot[0];+ private Pilot[] pilots; // = new Pilot[0]; ​//array de dimension 1
   
   
Line 280: Line 289:
   
  //Get the pilots of defiance  //Get the pilots of defiance
- Pilot[] ​pilots ​= defiance.getPilots();​+ Pilot[] ​ourPilots ​= defiance.getPilots();​
   
  //Print the first pilot (only object reference)  //Print the first pilot (only object reference)
- System.out.println("​Pilot : " + pilots[0]);+ System.out.println("​Pilot : " + ourPilots[0]);
  }  }
  
Line 417: Line 426:
  
  
 +/*
 === et encore === === et encore ===
  
Line 423: Line 432:
  
    - Quel code correspond au diagramme de classe UML ci dessus ?    - Quel code correspond au diagramme de classe UML ci dessus ?
 +*/
 ===== Je sais passer du dessin d'une relation d'​héritage au code ==== ===== Je sais passer du dessin 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:​weapons.png?​400|}} {{:​2017_2018:​s2:​td:​weapons.png?​400|}}
  
Line 478: Line 487:
 */ */
  
 +{{:​2017_2018:​s2:​td:​star-wars-armada-2400x1200-259395126765.jpg?​300 |}}
 {{:​2017_2018:​s2:​td:​spacialship.png?​700|}} {{:​2017_2018:​s2:​td:​spacialship.png?​700|}}
  
Line 523: Line 533:
  private int capacity;  private int capacity;
   
- DecompressionChamber decompressionChamber;​+ private ​DecompressionChamber decompressionChamber;​
 } }
  
Line 537: Line 547:
 ===== Du diagramme de séquence au diagramme de classes ===== ===== Du diagramme de séquence au diagramme de classes =====
  
 +{{ :​2017_2018:​s2:​td:​darth-vader-stormtroopers-wide-wallpaper.jpg?​300 |}}
 Voici un diagramme de séquence, complétez le diagramme de classe pour tenir compte des nouveaux éléments. Voici un diagramme de séquence, complétez le diagramme de classe pour tenir compte des nouveaux éléments.
 {{:​2017_2018:​s2:​td:​sequence.png?​600|}} {{:​2017_2018:​s2:​td:​sequence.png?​600|}}
2017_2018/s2/td/td_classe_code.1518346729.txt.gz · Last modified: 2018/02/11 11:58 by blay