next up previous contents index
Next: Méthodes Up: Classes et instances, membres Previous: Champs

   
Constructeurs

Outre ses champs, la définition d'une classe comporte la définition de ses constructeurs, qui portent le même nom que la classe, ont comme les méthodes, une liste de paramètres, mais n'ont pas de type de retour. Quand ceux-ci seront invoqués, au moyen de l'opérateur new, une instance sera créée, ce qui signifie qu'une zone de la mémoire lui sera attribuée, et ses champs pourront alors être initialisés. La définition des constructeurs consiste essentiellement à spécifier les différents cas d'initialisation utiles. Par exemple, on pourra initialiser les champs d'un point à l'aide d'un couple de coordonnées, ou bien on pourra les initialiser à zéro :

class Point {
  // ...

  // les deux constructeurs :

  Point() {}

  Point(double x, double y) {
    this.x = x;
    this.y = y;
 }
  // ...
}

  Employé dans un constructeur, le nom this réfère à l'instance créée par ce constructeur. Ceci permet en particulier d'employer le nom du champ x comme paramètre du constructeur, dans this.x = x.

  Il n'est pas obligatoire de définir des constructeurs. Si l'on n'en définit pas explicitement, le constructeur sans paramètre et de corps vide est toujours défini implicitement : c'est le constructeur par défaut. Par contre, dès que l'on définit un (autre) constructeur, ce constructeur par défaut n'est plus défini implicitement et ne peut donc plus être utilisé. C'est pourquoi, il faut ici définir explicitement le constructeur par défaut, du moins si l'on envisage de l'utiliser.



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