L’encapsulation et ses conséquences
185
programmes pourront utiliser une même classe qu’il suffira d’avoir écrite et mise au point
une fois pour toutes. On retrouve simplement ici une généralisation de ce que nous avions
indiqué à propos des fonctions.
Exercice 9.1 Ajouter à la définition de la classe Point précédente, une méthode premQuad
fournissant la valeur vrai si le point concerné appartient au « premier quadrant », c’est-àdire si ses coordonnées sont toutes deux positives ou nulles, et la valeur faux dans le cas
contraire. Écrire un petit programme utilisant cette nouvelle classe Point.
3 L’encapsulation et ses conséquences
3.1 Méthodes d’accès et d’altération
Nous avons vu que les attributs sont encapsulés dans l’objet et qu’il n’est pas possible d’y
accéder en dehors des méthodes elles-mêmes. Ainsi, avec notre classe Point précédente,
nous ne pouvons pas connaître ou modifier l’abscisse d’un point en nous référant directement
à l’attribut abs correspondant :
Point p
p := Création Point
.....
écrire p.abs
// interdit
p.abs := 9
// interdit
Cette contrainte pourra sembler draconienne dans certains cas. Mais, il faut bien comprendre
qu’il reste toujours possible de doter une classe de méthodes appropriées permettant :
• d’obtenir la valeur d’un attribut donné ; nous parlerons de « méthodes d’accès » ;
• de modifier la valeur d’un ou de plusieurs attributs ; nous parlerons de « méthodes
d’altération » 1 .
Par exemple, en plus de la méthode initialise, nous pourrions doter notre classe Point de deux
méthodes d’altération fixeAbs et fixeOrd :
méthode fixeAbs (entier x)
{ abs := x
}
méthode fixeOrd (entier y)
{ ord := y
}
De même, nous pourrions la doter de deux méthodes d’accès valeurAbs et valeurOrd :
entier méthode valeurAbs
1. La dénomination de ces méthodes est loin d’être universelle. Parfois, on rencontre le terme « méthode d’accès »
pour qualifier les deux types de méthodes.
Précédent

- 208/370

Suivant