Le concept d’encapsulation est un concept très utile de la POO. Il permet en particulier d’éviter une modification par erreur des données d’un objet. En effet, il empêche d’agir directement sur les données d’un objet.

Dans le cadre de l’encapsulation on retrouve deux notions en particulier: la notion d’attribut privé et celle d’accesseurs et mutateurs. 

 

Définition d’attributs privés

Afin de protéger les attributs d’une classe, on les privatisera en ajoutant un double underscore (tiret du 8) devant leur nom, comme ceci: __attribut. 

Exemple

De cette façon on ne pourra plus les modifier sans passer par un mutateur.

Lance-toi

Transforme tous les attributs de la classe ici présente en attribut privé:

Définition des accesseurs et mutateurs

    • les accesseurs vont nous permettre de récupérer des données sur l’objet tel que le contenu des attributs privés. Ils sont en général de la forme get_nomattribut.

 

  • les mutateurs quant à eux nous permettrons de modifier ces données, en particulier la valeur des attributs privés. On les nomme souvent set_nomattribut.

Exemple

Lance-toi

Crée des accesseurs et des mutateurs pour chaque attribut privé de la classe:

Astuce

Le mot-clé return permet de renvoyer un élément.

Le mot-clé self suivi d’un point et du nom de l’attribut récupère l’attribut de l’objet en question.

 

Solution