11
Composition des objets
Jusqu’ici, nous n’avons considéré que des objets dont les attributs étaient d’un type de base
ou tableau. Mais, bien entendu, une classe peut comporter des attributs qui sont eux-mêmes
des variables de type classe. C’est cette possiblilité que nous allons étudier ici en détail, ce
qui va nous amener à considérer les problèmes qui peuvent se poser :
• au niveau des droits d’accès à ces attributs de type classe ;
• dans la nature de la « relation » qui se crée entre les deux objets concernés.
Nous serons également amenés à vous présenter la distinction entre copie profonde et copie
superficielle d’un objet. Enfin, nous vous montrerons comment réaliser une classe à instance
unique (singleton).
1 Premier exemple : une classe Cercle
Supposons que l’on dispose de cette classe Point (que, volontairement, nous avons privée
de méthode déplace) :
classe Point
{ méthode Point (entier x, entier y) { abs := x ; ord := y }
méthode affiche { «Je suis un point de coordonnées », abs, « », ord }
entier abs, ord
}
Imaginons que nous souhaitions définir une classe Cercle, permettant de manipuler des cercles d’un plan, caractérisés par les deux coordonnées de leur centre et leur rayon (supposé de
type réel).
Précédent

- 252/370

Suivant