Les mutateurs et les accesseurs Mutateur Accesseur
Pour répondre à notre besoin de la précédente section qui est la lecture de l’attribut age depuis l’extérieur de l’objet tout en conservant une modification uniquement depuis l’intérieur de celui-ci, il convient de définir un droit d’accès public en lecture et un droit d’accès privé en écriture.
Il est possible de traduire autrement ce besoin. La lecture se fait via un accesseur (pour accéder à la valeur) qui doit être public alors que l’écriture se fait via un mutateur (pour modifier la valeur) qui doit être privé.
Exemple
class Dog
{
//...
var age = 0
public get
private set
//...
}
Sous la déclaration de l’attribut age, nous avons ajouté deux lignes. La première, public get, permet de dire que l’accesseur est public. La seconde, private set, permet de dire que le mutateur est privé. get set
On utilise ici le mot-clé get pour l’accesseur car en anglais on appelle ça un getter.
Dans ce cas précis, puisque l’accesseur de l’attribut age est public et que l’attribut est lui-même public, il n’est pas nécessaire de le préciser. Nous pouvons nous limiter à l’écriture du droit d’accès de son mutateur :...