Un type de données abstrait (ADT), comme son nom l'indique, est une compréhension abstraite d'une structure de données. Un ADT est défini par son comportement et ses caractéristiques, notamment en termes de données pouvant y être stockées, d'opérations pouvant être effectuées sur ces données et du comportement de ces opérations. Par exemple, les piles et les files d'attente peuvent être implémentées en interne à l'aide de listes chaînées constituées de nœuds ou de tableaux. Cependant, la fonction principale d'une pile est d'être une structure de données dernier entré, premier sorti (LIFO) et la fonction principale d'une file d'attente est d'être une structure de données premier entré, premier sorti (FIFO). Le comportement, du point de vue de l'utilisateur, reste intact, quelle que soit l'implémentation interne utilisant des listes chaînées ou des tableaux. Si l'utilisateur interagissait avec une pile, il se souciera simplement de pousser les données sur la pile ou de retirer les données de la pile. L’utilisateur n’aura pas besoin de savoir comment cette pile fonctionne en interne.
Contrairement aux structures de données, qui sont des implémentations spécifiques et détaillées qui traitent de la façon dont la structure de données fait son travail, un ADT se concentre sur ce qu'il fait et non sur la façon dont il fait son travail. En bref, l'ADT définit ce que cette construction de données particulière doit faire et la structure des données est la mise en œuvre concrète de cette construction.
Une analogie pour expliquer les ADT en termes de développement Web serait les API CRUD (en abrégé créer, lire, mettre à jour et supprimer). L'utilisateur de n'importe quelle API CRUD doit simplement savoir quelle méthode de requête (GET, POST, PUT/PATCH ou DELETE) doit-il envoyer, et s'il suit les règles de l'API, le serveur API renverra les données. L'utilisateur n'avait pas à se soucier du fonctionnement interne du serveur API. Il leur fallait simplement connaître les règles d’interactions et de comportement d’une API CRUD. Dans ce cas, l'API CRUD fonctionne comme un ADT du point de vue de l'utilisateur.
Il n'y a pas de règles spécifiques qui obligent la mise en œuvre de méthodes et d'opérations particulières dans un ADT particulier. Ceci est décidé en fonction des exigences d'un scénario de cas d'utilisation et finalement du choix de conception.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!