next up previous contents index
Next: Constructeurs Up: Classes et instances, membres Previous: Classes et instances, membres

       
Champs

Définir une classe consiste à définir ses constructeurs ainsi que ses membres. Les membres d'une classe sont des champs, des méthodes (et éventuellement des classes ou interfaces imbriquées). Nous allons définir une classe Point pour les points du plan. Il est naturel de doter cette classe de deux champs1.2 de type double, de nom x et y, qui représentent les coordonnées d'un point. Les champs sont parfois appelés des variables d'instance ou encore des variables d'état, car ils décrivent l'état interne de l'objet (figure 1.7). La définition de la classe comprendra au moins ces deux champs : 

class Point {
  double x, y;

  // ...
}


 \begin{figurette}% latex2html id marker 2371
\begin{center}
\leavevmode
\fbox{...
...{Point} avec ses deux champs
initialisés à zéro.}
\end{center} \end{figurette}

  Les champs sont d'abord initialisés à la valeur nulle de leur type. Ces valeurs nulles sont 0 pour les types numériques, false pour le type boolean, '\u0000' pour le type char, et null pour les types référencés (tableaux et classes).

On accède à un champ d'une instance en suffixant le nom d'un objet par le nom du champ ; par exemple, on accède aux champs x et y du point p au moyen des expressions p.x et p.y. C'est une erreur d'accéder à un champ d'un objet qui n'existe pas. Ainsi, l'évaluation de p.x, qui suit une déclaration de p et son initialisation par null, provoque le déclenchement de l'exception NullPointerException :

  Point p = null;
  p.x = 2;                // ERREUR -> NullPointerException

Pour éviter cette erreur, il est souvent nécessaire de commencer par faire le test p != null.



next up previous contents index
Next: Constructeurs Up: Classes et instances, membres Previous: Classes et instances, membres
R. Lalement
2000-10-23