À retenir
- Il définit le comportement (les opérations) et non le code.
- Il permet de séparer l'utilisation du stockage.
- C'est une brique fondamentale de l'architecture logicielle propre.
Un type abstrait est un modèle théorique qui définit ce que fait une structure de données (quelles actions sont possibles) sans préciser comment elle le fait techniquement. C'est comme le manuel d'utilisation d'une voiture : il vous explique comment tourner le volant ou freiner, peu importe que le moteur soit électrique ou à essence.
Étymologie
Vient de l'anglais Abstract Data Type (ADT). Le mot « abstrait » souligne ici l'action de séparer l'idée conceptuelle (les opérations mathématiques ou logiques) de la réalisation matérielle (le code informatique concret).
Exemples d'usage
- La Pile (Stack) : on peut seulement ajouter ou retirer un élément au sommet (principe du dernier arrivé, premier sorti).
- La File (Queue) : on ajoute à la fin et on retire au début (principe du premier arrivé, premier servi).
- Le Dictionnaire : on associe une clé à une valeur pour la retrouver plus tard.
Cas d'usage
On utilise les types abstraits lors de la conception d'un logiciel pour organiser les données de façon logique. Ils interviennent massivement en programmation orientée objet (via les interfaces) et dans l'étude des algorithmes pour garantir qu'un programme restera flexible si l'on change la manière de stocker les informations en mémoire.
Bonnes pratiques
Il est recommandé de toujours définir l'interface (les fonctions disponibles) avant de coder la solution. L'utilisateur du type abstrait ne doit jamais avoir besoin d'accéder directement aux variables internes ; il doit passer exclusivement par les fonctions prévues (encapsulation).
Synonymes
Antonymes
Conseil
Pour bien comprendre, essayez d'imaginer un objet du quotidien (comme une télécommande) : vous connaissez les boutons (le type abstrait), mais vous ignorez quels circuits électroniques s'activent à l'intérieur (l'implémentation). En programmation, visez toujours cette simplicité pour vos utilisateurs.
Questions fréquentes
Quelle est la différence avec une structure de données ?
Le type abstrait est le plan théorique (ex: une Liste), tandis que la structure de données est la réalisation concrète en mémoire (ex: une liste chaînée ou un tableau).
Pourquoi dit-on que c'est abstrait ?
Parce qu'on fait abstraction des détails techniques (gestion de la mémoire, pointeurs) pour ne se concentrer que sur la logique d'usage.