Variable vs variable
           Programme




                               Modèle statique
         Au début, il y a le
...
Variable vs variable
          Programme




                                           Modèle statique
 Classe     Classe...
Variable vs variable
           Programme




                                                Modèle statique
            ...
Variable vs variable
                  Programme




                                                           Modèle sta...
Variable vs variable
                             Programme




                                                          ...
Variable vs variable
                                                               Chaque « étage » peut
                ...
Variable vs variable
                             Programme

            Variable globale 1       Variable globale N




 ...
Variable vs variable
                             Programme

            Variable globale 1       Variable globale N




 ...
Variable vs variable

Variables globales     Visible par toutes les méthodes de tous les
                       objets de ...
Variable vs variable

Variables globales
                       + visible




                                   Modèle st...
Variable vs variable

Variables globales




                                               Modèle statique
              ...
Variable vs variable
                       Dans un programme bien conçu
Variables globales                        - nombr...
Variable vs variable
                       Dans un programme bien conçu
Variables globales                  à utiliser en...
Variable vs variable
 Un exemple:



        On veut un programme
        pour afficher une liste de
        livres
Variable vs variable
 Un exemple:

      public class Librairie {
          public static void main(String[] args) {
     ...
Variable vs variable
 Un exemple:

           public class Librairie {
               public static void main(String[] arg...
Variable vs variable
 Un exemple:

           public class Librairie {
               public static void main(String[] arg...
Variable vs variable
 Un exemple:

           public class Librairie {
               public static void main(String[] arg...
Variable vs variable

Variables globales     Une pour le programme




                                                   ...
Variable vs variable

Variables globales     Une pour le programme




                                                   ...
Variable vs variable
 Un exemple:

       public class Livre {
           public Livre(int id, String titre) {
           ...
Variable vs variable
   Un exemple:

                 public class Livre {
                     public Livre(int id, Strin...
Variable vs variable
 Un exemple:
                                              paramètre ≈ variable locale
          publ...
Variable vs variable
 Un exemple:

      public class Librairie {
          public static void main(String[] args) {
     ...
Variable vs variable
 Un exemple:

      public class Librairie {
          public static void main(String[] args) {
     ...
Variable vs variable
 Un exemple:

      public class Librairie {
          public static void main(String[] args) {
     ...
Variable vs variable

Variables globales     Une pour le programme




                                                   ...
Variable vs variable

Variables globales     Une pour le programme objet à l'autre
                           Mais mémoris...
Variable vs variable
 Un exemple:

       public class Livre {
           public Livre(String titre) {
               this...
Variable vs variable
 Refactorisez:




            public static void main(String[] args) {
                Librairie   l...
Variable vs variable
                                                     visibilité: +     -

  Modèle statique          ...
Prochain SlideShare
Chargement dans…5
×

Variables variables

1 772 vues

Publié le

Celle là est vraiment très moche!

Si vous survivez aux couleurs criardes et au design digne d'un enfant de 10 ans, vous découvrirez une tentative (désespérée?) d'explication des différentes sortes de variables en Java.

Donc, si vous n'arrivez décidément pas à faire la différence entre une variable d'instance une variable locale, cette présentation est pour vous. Attention les yeux!

Publié dans : Technologie
0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 772
Sur SlideShare
0
Issues des intégrations
0
Intégrations
11
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Variables variables

  1. 1. Variable vs variable Programme Modèle statique Au début, il y a le programme... Modèle dynamique
  2. 2. Variable vs variable Programme Modèle statique Classe Classe Modèle dynamique Le programme définit un certain nombre de classes
  3. 3. Variable vs variable Programme Modèle statique Les classes servent à Classe Classe instancier des objets Objet Objet Objet Modèle dynamique
  4. 4. Variable vs variable Programme Modèle statique Classe Classe Les objets possèdent Objet Objet Objet méthodes des Modèle dynamique Méthode Méthode
  5. 5. Variable vs variable Programme Modèle statique Classe Classe Vous connaissez les Objet variables locales? Objet Objet Modèle dynamique Méthode Méthode Variable locale Variable locale 1 Variable locale N
  6. 6. Variable vs variable Chaque « étage » peut Programme avoir ses variables ! Variable globale 1 Variable globale N Modèle statique Classe Classe Variable de classe Variable de classe 1 Variable de classe N Objet Objet Objet Modèle dynamique Variable d'instance 1 Variable d'instance Variable d'instance Méthode Méthode Variable locale Variable locale 1 Variable locale N
  7. 7. Variable vs variable Programme Variable globale 1 Variable globale N Modèle statique Classe Classe Variable de classe Variable de classe 1 Variable de classe N Seules les méthodes Objet Objet sont « actives » ! Objet Modèle dynamique Variable d'instance 1 Variable d'instance Variable d'instance Méthode Méthode Variable locale Variable locale 1 Variable locale N
  8. 8. Variable vs variable Programme Variable globale 1 Variable globale N Modèle statique Classe Classe Variable de classe Variable de classe 1 Variable de classe N Pendant son exécution, une méthode « voit » de Objet Objet Objet nombreuses variables Modèle dynamique Variable d'instance 1 Variable d'instance Variable d'instance Méthode Méthode Variable locale Variable locale 1 Variable locale N
  9. 9. Variable vs variable Variables globales Visible par toutes les méthodes de tous les objets de toutes les classes Modèle statique Variables de classe Visible par toutes les méthodes de tous les objets d'une classe Modèle dynamique Variables d'instance Visible par toutes les méthodes d'un objet Variables locales Visible par une méthode
  10. 10. Variable vs variable Variables globales + visible Modèle statique Variables de classe Modèle dynamique Variables d'instance Variables locales - visible
  11. 11. Variable vs variable Variables globales Modèle statique une déclaration = un exemplaire Variables de classe Modèle dynamique Variables d'instance une déclaration = plusieurs exemplaires Variables locales
  12. 12. Variable vs variable Dans un programme bien conçu Variables globales - nombreuses Modèle statique Variables de classe Modèle dynamique Variables d'instance Variables locales + nombreuses
  13. 13. Variable vs variable Dans un programme bien conçu Variables globales à utiliser en dernier ressort Modèle statique Variables de classe Modèle dynamique Variables d'instance Variables locales à utiliser en priorité
  14. 14. Variable vs variable Un exemple: On veut un programme pour afficher une liste de livres
  15. 15. Variable vs variable Un exemple: public class Librairie {     public static void main(String[] args) {         Livre[] livres = {             new Livre(0, "The Hobbit"),             new Livre(1, "The Lord of the Ring")         };         for(Livre l : livres) {             System.out.println(l);         }     } }
  16. 16. Variable vs variable Un exemple: public class Librairie {     public static void main(String[] args) {         Livre[] livres = {             new Livre(0, "The Hobbit"), Initialisation             new Livre(1, "The Lord of the Ring")         };         for(Livre l : livres) {             System.out.println(l); Traitement         }     } }
  17. 17. Variable vs variable Un exemple: public class Librairie {     public static void main(String[] args) {         Livre[] livres = {             new Livre(0, "The Hobbit"), Initialisation             new Livre(1, "The Lord of the Ring")         }; Ces données doivent pouvoir être récupérées là         for(Livre l : livres) {             System.out.println(l); Traitement         }     } }
  18. 18. Variable vs variable Un exemple: public class Librairie {     public static void main(String[] args) {         Livre[] livres = {             new Livre(0, "The Hobbit"), Initialisation             new Livre(1, "The Lord of the Ring")         }; Solution: Chaque livre doit mémoriser ses informations         for(Livre l : livres) {             System.out.println(l); Traitement         }     } }
  19. 19. Variable vs variable Variables globales Une pour le programme Modèle statique Variables de classe Une pour la classe Modèle dynamique Variables d'instance Une pour chaque objet Variables locales Une pour chaque appel de méthode
  20. 20. Variable vs variable Variables globales Une pour le programme Modèle statique Variables de classe Une pour la classe Chaque livre doit mémoriser ses informations Modèle dynamique Variables d'instance Une pour chaque objet Variables locales Une pour chaque appel de méthode
  21. 21. Variable vs variable Un exemple: public class Livre {     public Livre(int id, String titre) {         this.id = id;         this.titre = titre;     }     public String toString() {         return "id: " + id + " titre: " + titre;     }     private final int           id;     private final String        titre; }
  22. 22. Variable vs variable Un exemple: public class Livre {     public Livre(int id, String titre) { Constructeur:         this.id = id; Sert         this.titre = titre; à initialiser l'objet     }     public String toString() {         return "id: " + id + " titre: " + titre; Méthode     }     private final int           id;     private final String        titre; }
  23. 23. Variable vs variable Un exemple: paramètre ≈ variable locale public class Livre {     public Livre(int id, String titre) {         this.id = id; Constructeur         this.titre = titre;     }     public String toString() {         return "id: " + id + " titre: " + titre; Méthode     }     private final int           id;     private final String        titre; } Variable d'instance
  24. 24. Variable vs variable Un exemple: public class Librairie {     public static void main(String[] args) {         Livre[] livres = {             new Livre(0, "The Hobbit"),             new Livre(1, "The Lord of the Ring"),             new Livre(1, "Tom Bombadil")         };         for(Livre l : livres) {             System.out.println(l);         }     } }
  25. 25. Variable vs variable Un exemple: public class Librairie {     public static void main(String[] args) {         Livre[] livres = {             new Livre(0, "The Hobbit"),             new Livre(1, "The Lord of the Ring"),             new Livre(1, "Tom Bombadil")         }; Oups !         for(Livre l : livres) {             System.out.println(l);         }     } }
  26. 26. Variable vs variable Un exemple: public class Librairie {     public static void main(String[] args) {         Livre[] livres = {             new Livre(0, "The Hobbit"),             new Livre(1, "The Lord of the Ring"),             new Livre(1, "Tom Bombadil")         }; Solution: Ne pas compter sur l'appelant, Mais mémoriser d'un objet à l'autre         for(Livre l : livres) { le compteur des « id »             System.out.println(l);         }     } }
  27. 27. Variable vs variable Variables globales Une pour le programme Modèle statique Variables de classe Une pour la classe Modèle dynamique Variables d'instance Une pour chaque objet Variables locales Une pour chaque appel de méthode
  28. 28. Variable vs variable Variables globales Une pour le programme objet à l'autre Mais mémoriser d'un le compteur des « id » Modèle statique Variables de classe Une pour la classe Modèle dynamique Variables d'instance Une pour chaque objet Variables locales Une pour chaque appel de méthode
  29. 29. Variable vs variable Un exemple: public class Livre {     public Livre(String titre) {         this.id = nextId++;         this.titre = titre;     } Variable de classe     public String toString() {         return "id: " + id + " titre: " + titre;     }     private static int          nextId  = 0;     private final  int          id;     private final  String       titre; } Variable d'instance
  30. 30. Variable vs variable Refactorisez:     public static void main(String[] args) {         Librairie   librairie = new Librairie();         librarie.afficheLivres();     } http://olympe.maupertuis.intra/svn/cours/trunk ./variables
  31. 31. Variable vs variable visibilité: + - Modèle statique Modèle dynamique Programme Variable globale Objet Variable d'instance Classe instanciation Variable de classe Méthode Variable locale Unique Autant que nécessaire

×