next up previous
suivant: L'encapsulation des objets monter: Architecture d'une application Java précédent: La modularité : les

Sous-sections

La modélisation

Les attributs d'un objet

Le mot clef static détermine si un attribut est une variable d'instance (appartient à l'objet), où une variable de classe (appartient à la classe).


class MaClasse {
  static int nombreInstance=0;
  int x,y;
}

La variable nombreInstance est une variable de la classe MaClasse, alors que les variables x et y appartiennent aux objets, instances de la classe MaClasse. Par défaut, la variable est d'instance.


class AutreClasse {
  int ni = MaClasse.nombreInstance;
  MaClasse monObjet = new MaClasse();
  int xx = monObjet.x;
}

Les opérations d'un objet

Le mot clef static détermine si une opération (une méthode) est une méthode d'instance (appartient à l'objet), où une méthode de classe (appartient à la classe).


class MaClasse {
  static int nombreInstance=0;
  int x,y;
  static int dernièreInstance(){return nombreInstance;}
  int périmetre(){return 2*(x+y);}
}

L'opération dernièreInstance() est une méthode de la classe MaClasse, alors que l'opération périmetre() est applicable aux objets, instances de la classe MaClasse. Par défaut, une méthode est d'instance.


class AutreClasse {
  int ni = MaClasse.dernièreInstance();
  MaClasse monObjet = new MaClasse();
  int p = monObjet.périmetre();
}

La référence aux objets

En Java, les pointeurs n'existent pas. En fait, à l'exception des types primitifs (boolean, char, byte, short, int, long, float, double), tout est implémenté avec des pointeurs.


MaClasse monObjet;
ne fait que créer une variable monObjet qui permettra de référencer un objet de type MaClasse. L'instruction

monObjet.perimetre();
provoquera une erreur.


MaClasse monObjet = new MaClasse();
crée une variable monObjet qui référence un objet de type MaClasse. L'instruction

monObjet.perimetre();
ne provoquera pas d'erreur.


next up previous
suivant: L'encapsulation des objets monter: Architecture d'une application Java précédent: La modularité : les
Alain GRIFFAULT
2000-10-30