Helmichs Informatik-Lexikon

Datenabstraktion

Bei dem Begriff der Datenabstraktion geht es eigentlich um das Thema "Abstrakte Datentypen", das in der Folge 14 des Q1-Kurses ausführlich behandelt wird.

Beispiel:

Sie wollen einen Stapelspeicher (Stack) konstruieren, der bestimmte Objekte verwalten kann, beispielsweise Personen.

Sie müssen lediglich die Spezifikation dieses Datentyps festgelegt. Über die Konstruktion des Datentyps haben Sie keine Aussagen gemacht.

Die Spezifikation eines Stacks sieht so aus:

  • Eine init()-Operation erzeugt einen leeren Stack
  • Eine push(x)-Operation legt ein Datenobjekt x oben auf den bisherigen Stack
  • Eine pop()-Operation entfernt das oberste Datenobjekt von dem Stack
  • Eine top()-Operation liefert den Wert des obersten Datenobjektes zurück, ohne aber den Stack zu verändern
  • Eine empty()-Operation liefert den Wert true zurück, wenn der Stack leer ist, und den Wert false, wenn das nicht der Fall ist.

Hier wird der abstrakte Datentyp "Stack" durch die Angabe von fünf Operationen spezifiziert. Wie der Stack intern aufgebaut ist, welche konkreten Datentypen also für seine Implementation verwendet werden, ist dabei völlig offen und auch egal. Auch wie die einzelnen Operationen intern arbeiten, wird durch die Spezifikation des abstrakten Datentyps nicht vorgegeben; hier gilt das Prinzip der algorithmischen Abstraktion.