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: Méthodes
Up: Classes et instances, membres
Previous: Champs
R. Lalement
2000-10-23