Les constructeurs
191
bre et le type de leurs paramètres. Voici un exemple de définition d’une classe comportant
trois constructeurs, accompagné d’un petit exemple d’utilisation :
point p, q, r
p := Création Point
// appel constructeur 1
p.affiche
q := Création Point(5)
// appel constructeur 2
q.affiche
r := Création Point(3, 12)
// appel constructeur 3
c.affiche
classe Point
{ méthode Point
// constructeur 1 (pas de paramètre)
{ abs := 0
ord := 0
}
méthode Point (entier x)
// constructeur 2 (un paramètre)
{ abs := x
ord := 0
}
méthode Point (entier x, entier y)
// constructeur 3 (deux paramètres)
{ abs := x
ord := y
}
méthode affiche
{ écrire «Je suis un point de coordonnées », abs, « », ord
}
entier abs
entier ord
Je suis un point de coordonnées 0 0
Je suis un point de coordonnées 5 0
Je suis un point de coordonnées 3 12
Exemple de surdéfinition d’un constructeur
5.4 Appel automatique du constructeur
À partir du moment où l’on dote une classe d’un ou plusieurs constructeurs, on peut raisonnablement penser que l’on souhaite qu’un objet ne puisse plus être instancié sans que l’un de
ces constructeurs ne soit appelé. C’est bien ce qui est prévu dans la plupart des langages
objet. Considérons alors cette classe :
classe Point
{ Point (entier x, entier y) // unique constructeur à 2 paramètres
{ ..... }
et cette déclaration :
Point p
Précédent

- 214/370

Suivant