|
Abstrakte Datentypen (ADT)
Abstraktion bedeutet bei Prozeduren und Datentypen im Folgenden, dass von der konkreten Realisierung abgesehen wird. Durch die Abstraktion wird die Spezifikation (Leistungsbeschreibung) von der Konstruktion (d.h. der konkreten Implementation) getrennt.
Der ...
|
![]() |
Abstrakte Datentypen (ADT)
Gliederung
- Algorithmische Abstraktion
- Datenabstraktion
- Vorteile von Abstrakten Datentypen
- Beispiele
Der Abstraktionsprozess lässt sich bei Prozeduren und Funktionen (Algorithmische Abstraktion) und bei Datentypen und Datenstrukturen (Abstrakter Datentyp) durchführen.
Algorithmische Abstraktion
Algorithmische Abstraktion besteht darin, dass von einer Prozedur/Funktion nur mitgeteilt werden:a) die Aufrufparameter (Reihenfolge, Datentyp, Wertebereich)
b) das Ergebnis der Bearbeitung
Nicht mitgeteilt wird der interne Algorithmus ("black box").
Die algorithmische Abstraktion ist z.B. üblich bei sämtlichen vordefinierten Prozeduren und Funktionen. So interessieren z.B. in Pascal bei "delete" nur die Aufrufparameter und das Ergebnis.
Datenabstraktion
Beim abstrakten Datentyp (ADT) müssen dem Anwender ebenso nur die Spezifikation und nicht die konkrete Realisierung bekannt sein. Man unterscheidet:a) die Spezifikation: vollständige externe Beschreibung des ADT. Sie beschreibt:
- die Wertemenge (und ggfls. die Komponenten und die Struktur) des Datentyps
- die Operationen ("Grundoperationen") und ihre Wirkung (in Form der algorithmischen Abstraktion)
b) die Repräsentation: die interne Darstellung des ADT durch Datentypen der verwendeten Programmiersprache.
So lässt sich z. B. der "ADT Liste" durch Arrays oder durch Zeiger (Pointer) repräsentieren.
c) die Implementation: die interne Realisierung der Operationen mit den Mitteln der verwendeten Programmiersprache.
Vorteile von Abstrakten Datentypen
a) Einfachheit/Konzentration auf das Wesentliche:Die Programme werden verständlicher. Unwichtige Details verschwinden aus dem Programm und belasten
nicht mehr beim Programmieren
b) Gegenseitige Unabhängigkeit von Implementationen des ADT und den benutzendem Programm:
Man kann beide unabhängig von einander verändern. Eine Änderung der Repräsentation
führt also nicht zu einem Ändern des Programms.
c) Einschränkung von Fehlerquellen
Beispiele
ADT lineare Liste, ADT Keller, ADT Schlange, ADT Bruch, ADT Ring
Druckansicht
Download als RTF-Datei
Bewertung abgeben Fehler melden per eMail weiterempfehlen
