next up previous contents
Next: Classes en C++ Up: Introduction Previous: Approche orientée objets et

Encapsulation

Un autre objectif de l'approche orientée objets est la réutilisabilité du logiciel : si une classe est bien conçue, elle pourra être utilisée dans un autre contexte. Par exemple, si on définit une classe de listes, ces listes existent en elles-mêmes et peuvent être utilisées dans n'importe quel contexte. Il est inutile de réécrire du code qui existe déjà. Cela n'est pas aussi simple qu'il n'y paraît : cela suppose d'abord que la spécification de ce qu'on veut réutiliser soit précise et surtout indépendante du contexte initialement prévu, ensuite il faut que le langage permette de la généricité : il faut pouvoir utiliser un même code pour définir une liste d'entier ou une liste d'un autre type.

L'encapsulation est le fait que ne doit être visible de l'extérieur que ce qui est nécessaire : il faut concevoir une classe comme une boîte noire avec des ``boutons'' qui servent d'interface. Ce qui se passe à l'intérieur de la boîte quand un utilisateur presse un bouton ne doit pas concerner l'utilisateur ; il doit uniquement avoir la garantie que la boîte réagira suivant sa spécification. Cela signifie qu'il faut, d'une part, séparer l'interface de la réalisation, et d'autre part, assurer que le seul moyen d'agir sur la boîte soit l'interface. Mais à l'intérieur de la boîte noire (c'est-à-dire de la classe) on pourra définir et utiliser des fonctions auxquels l'extérieur n'a pas accès. C'est pourquoi, on aura, en général une notion de droit d'accès.




Mon Oct 20 14:02:48 MET 1997