Abstrakter Datentyp

Dieser Artikel bedarf einer Überarbeitung. Eine Begründung befindet sich in der Regel auf der Diskussionsseite. Wenn du Lust hast, verbessere den Artikel und entferne anschließend diesen Baustein.

Als Abstrakte Datentypen bezeichnet man in der Informatik spezielle Datentypen, deren Operationen genau spezifiziert sind, die jedoch im Gegensatz zu den elementaren und zusammengesetzten Datentypen nicht an einen konkreten Wertebereich gebunden sind. Die Bindung an den Wertebereich findet erst durch die konkrete Ausprägung des abstrakten Datentypen statt.

Der Begriff Abstrakter Datentyp wird meist im engen Umfeld von Programmiersprachen verwendet, insbesondere bei Programmiersprachen wie Ada oder Modula-2, die gezielt die Erstellung von abstrakten Datentypen unterstützen.

Wird bei der Betrachtung von der konkreten Ausprägung und der konkreten Implementation des abstrakten Datentypen in einer konkreten Programmiersprache abgesehen, wird sehr häufig auch von Datenstrukturen gesprochen. Die Abgrenzung zwischen dem Begriff Datenstruktur und Abstrakter Datentyp ist äußerst schwierig und fließend. Sobald der Schwerpunkt der Betrachtung auf den Daten, ihrer internen Organisation und den dazu nötigen Operationen liegt, spricht man eher von einer Datenstruktur, bei Betrachtung aller definierten Operationen auf dem zugehörigen Wertebereich wird häufig der Begriff Abstrakter Datentyp verwendet.

Inhaltsverzeichnis

Eigenschaften abstrakter Datentypen

Anzustrebende Eigenschaften eines gut programmierten ADT und meist auch einer gut spezifierten Datenstruktur sind:

Wird objektorientiert programmiert, können diese Eigenschaften besonders leicht erfüllt werden, weil das objektorientierte Paradigma auf natürliche Weise die Erstellung von ADTs unterstützt. Eine weitere Möglichkeit zur Erstellung von ADTs (auch in Verbindung mit objektorientierter Programmierung) sind generische Typen.

Beispiele für abstrakte Datentypen (zugleich auch Datenstrukturen)


Erläuterung am Beispiel: Der abstrakte Datentyp Warteschlange bietet die Funktionalität beliebige Objekt nach dem FIFO-Prinzip zu verarbeiten. Ob in die Warteschlange zum Beispiel Druckaufträge, Kopieraufträge, Tastatureingaben oder beliebige andere Objekte eingereiht und verarbeitet werden, ist für die Funktionalität irrelevant. Die Warteschlange abstrahiert demnach vom verarbeiteten Objekt.

Mathematisch

Spezifikation einer Termalgebra durch Signatur, Konstruktor und Axiome.

Siehe auch

Datentyp, Programmierparadigma

See also: Abstrakter Datentyp, Ada (Programmiersprache), Baum (Graphentheorie), Computerprogramm, Computerspeicher, Datenstruktur, Datentyp, First In - First Out, Generischer Typ