En informatique, un type de donnée abstrait (en anglais, abstract data type ou ADT) est une spécification mathématique d'un ensemble de données et de l'ensemble des opérations qu'on peut effectuer sur elles. On qualifie d'abstrait ce type de donnée car il ne spécifie pas comment les données sont représentées ni comment les opérations sont implémentées. Les types abstraits les plus utilisés sont : arbre binaire conteneur dictionnaire ou tableau associatif ensemble Graphe liste multiensemble pile Union-find Un type abstrait est composé de cinq champs : Type abstrait ; Utilise ; Opérations ; Pré-conditions ; Axiomes. Ces cinq éléments sont souvent réunis sous l'acronyme : TUOPA. Le champ « Type abstrait » contient le nom du type que l'on est en train de décrire et précise éventuellement si celui-ci n'est pas une extension d'un autre type abstrait. Par exemple, on écrira « Type abstrait : Pile » pour créer un type nommé Pile qui décrit ce qu'est une pile et « Extension Type abstrait : Pile » si on désire l'étendre (on étend un type abstrait en lui assignant de nouvelles opérations non définies lors de la première spécification). Le champ « Utilise » contient les types abstraits que l'on va utiliser dans celui que l'on est en train de décrire. Par exemple, le type abstrait Pile que l'on définit va utiliser dans sa spécification le type abstrait Booléen, et on écrira « Utilise : Booléen ». Le champ « Opérations » contient le prototypage de toutes les opérations. Par prototypage, on entend une description des opérations par leur nom, leurs arguments et leur retour. Les opérations sont divisées en plusieurs types : les constructeurs (permettent de créer un objet du type que l'on est en train de définir) ; les transformateurs (permettent de modifier les objets et leur contenu) ; les observateurs (fonction donnant des informations sur l'état de l'objet). Exemple d'opération pour le type « Type abstrait : Pile » : créer : → Pile Notez que l'opération « créer » est un constructeur. En effet, cette fonction crée un objet de type pile.
Martin Odersky, Nicolas Alexander Stucki
Martin Jaggi, Mary-Anne Hartley, Vinitra Swamy, Jibril Albachir Frej, Thierry Bossy, Thijs Vogels, Malika Satayeva