Type abstrait

Un type abstrait est une structure (ou un type) de données dont défini entièrement par les opérations possible sur un objet du type. C'est le contraire d'un type concret. On appelle l'ensemble des opérations possible sur un type abstrait, son interface.

Il y a souvent des compromis concernant la performances des opérations sur un type abstrait donné. Il est souvent impossible d'implémenter un type abstrait de façon à ce que l'ensemble des opérations soit efficace. Pour choisir l'implémentation d'un type abstrait, il faut donc déterminer l'usage typique, à savoir quelles opérations seront utilisées souvent et quelles opérations seront utilisées moins souvent, et choisir l'implémentation en fonction de cet usage.

Pour que la spécification de l'interface d'un type abstrait soit complète, il faut préciser plusieurs choses :

Types abstraits classiques :

Autres types abstraits :