Encapsulation
L’encapsulation est un procédé par lequel des types sont rendus opaques, c’est-à-dire accessibles seulement par de fonctions d’accès imposées.
En C, une méthode couramment employée est d’utiliser des pointeurs vers des struct non définies. Ceci
- permet de manipuler librement les pointeurs;
- interdit d’accéder aux champs de la structure.
Pour le widgets Intrinsics, ceci est réalisé par une organisation en trois fichiers : deux fichiers en-tête qui mettent en œuvre l’encapsulation, et un fichier contenant les fonctions. Plus précisément :
- un fichier en-tête public, contenant la définition des pointeurs : Abc.h;
- un fichier en-tête privé, contenant la définition des structures pointées : AbcP.h;
- un fichier source, contenant les définitions et les fonctions : Abc.c.