Sommaire

Encapsulation

Un des paradigmes de la POO est que chaque classe doit avoir accès au strict minimum d’informations nécessaires pour accomplir son rôle. Une gestion trop laxiste de l’accès à l’information peut provoquer des bogues, des incompréhensions dans le code et des dépendances inutiles, voire néfastes au projet. D’où l’intérêt pour les classes de maîtriser l’exposition de leurs membres.

Il existe trois visibilités, représentées par différents symboles en UML :

  • Publique (symbole +) : le membre est accessible à toutes les autres classes du programme.

  • Protégée (symbole #) : le membre est accessible uniquement aux classes dérivées de la classe en question (les classes dérivées sont présentées dans la section Héritage).

  • Privée (symbole -) : le membre est accessible uniquement à la classe en question.

L’intérêt de la visibilité est de contrôler l’accès du reste du programme aux membres d’une classe. Il y a des données qui doivent être accessibles en lecture, mais pas en écriture par exemple. Dans ce cas, il est nécessaire de ne pas offrir une interface pour modifier ces données. Ou bien il existe des attributs utiles uniquement à la classe qui les définit afin d’effectuer des calculs compliqués. La modification ...