Abstrakter Datentyp
Die Kurzantwort · 17 Wörter
Kurz erklärt
Ein abstrakter Datentyp definiert Daten über erlaubte Operationen und deren Verhalten, ohne die konkrete interne Implementierung festzulegen.
Flow-alerta.cab (2026): Abstrakter Datentyp. https://flow-alerta.cab/glossar/abstract-data-type. Redaktionell geprüft am: 09. Oktober 2026.
Wie ausführlich soll es sein?
Praxis
Grundlegend für wartbare Software, klare Schnittstellen und austauschbare Implementierungen. ADTs helfen, Änderungen im Inneren von Modulen von anderen Programmteilen zu entkoppeln.
Mögliches Beispiel: Ein Shopsystem definiert einen Warenkorb über Operationen wie addItem(), removeItem() und total(). Die konkrete Speicherung kann später geändert werden, ohne dass alle aufrufenden Komponenten angepasst werden müssen.
Mögliche Anwendungen: saubere Domänenmodelle, APIs, Backend-Komponenten und Integrationen; besonders relevant, wenn Systeme langfristig wartbar oder einzelne Technologien austauschbar bleiben sollen.
Auf einen Blick
- Kern
- Bei einem ADT ist entscheidend, was ein Datentyp leisten kann – etwa Einfügen, Entfernen oder Lesen – und welche Regeln dafür gelten. Ob intern beispielsweise ein Array, eine verkettete Liste oder eine andere Struktur verwendet wird, bleibt hinter der Schnittstelle verborgen.
- Nutzen
- Grundlegend für wartbare Software, klare Schnittstellen und austauschbare Implementierungen. ADTs helfen, Änderungen im Inneren von Modulen von anderen Programmteilen zu entkoppeln.
- Beispiel
- Mögliches Beispiel: Ein Shopsystem definiert einen Warenkorb über Operationen wie addItem(), removeItem() und total(). Die konkrete Speicherung kann später geändert werden, ohne dass alle aufrufenden Komponenten angepasst werden müssen.
- Grenzen
- ADT mit konkreter Datenstruktur gleichsetzen; interne Details nach außen leaken; Operationen ohne klare Invarianten definieren; Schnittstellen so breit gestalten, dass die Abstraktion ihren Nutzen verliert.
Im Zusammenhang
Datenstruktur
Eine Datenstruktur organisiert Daten so, dass bestimmte Zugriffs- und Änderungsoperationen effizient ausgeführt werden können.
Programmierschnittstelle (API)
Definierte Schnittstelle, über die Software Funktionen oder Daten anderer Komponenten nutzt.
Programmierschnittstelle (API)
Definierte Schnittstelle, über die Software Funktionen oder Daten anderer Komponenten nutzt.
Fragen, die dazu gestellt werden
Ist ein Stack ein ADT?
Ja, wenn er über sein Verhalten und seine Operationen wie push/pop definiert wird.
Ist eine konkrete Array-Implementierung selbst der ADT?
Nein, sie ist eine mögliche Implementierung.
Alle Details und Hintergründe
Bei einem ADT ist entscheidend, was ein Datentyp leisten kann – etwa Einfügen, Entfernen oder Lesen – und welche Regeln dafür gelten. Ob intern beispielsweise ein Array, eine verkettete Liste oder eine andere Struktur verwendet wird, bleibt hinter der Schnittstelle verborgen.
ELI5 – Einfach erklärt
Du benutzt einen Getränkeautomaten über Tasten und Ausgabe. Wie die Mechanik innen funktioniert, musst du nicht kennen – wichtig ist, welche Bedienung erlaubt ist und was dabei passiert.
Warum das im Alltag wichtig ist
Grundlegend für wartbare Software, klare Schnittstellen und austauschbare Implementierungen. ADTs helfen, Änderungen im Inneren von Modulen von anderen Programmteilen zu entkoppeln.
Beispiel
Mögliches Beispiel: Ein Shopsystem definiert einen Warenkorb über Operationen wie addItem(), removeItem() und total(). Die konkrete Speicherung kann später geändert werden, ohne dass alle aufrufenden Komponenten angepasst werden müssen.
Fallstricke und Grenzen
- ADT mit konkreter Datenstruktur gleichsetzen; interne Details nach außen leaken; Operationen ohne klare Invarianten definieren; Schnittstellen so breit gestalten, dass die Abstraktion ihren Nutzen verliert.
Entstehung & Geschichte
Abstrakte Datentypen wurden in der Programmiersprachenforschung der 1970er Jahre systematisch ausgearbeitet. Barbara Liskov und Stephen Zilles veröffentlichten 1974 „Programming with Abstract Data Types“.
Anwendung im Mittelstand
- Mögliche Anwendungen: saubere Domänenmodelle, APIs, Backend-Komponenten und Integrationen; besonders relevant, wenn Systeme langfristig wartbar oder einzelne Technologien austauschbar bleiben sollen.
Verwandte Begriffe
- Datenstruktur
- Interface
- API
- Encapsulation
- Information Hiding
- Abstraction
Passende Flow-alerta-Leistung
Websites & Web-AnwendungenWebsites & Web-Anwendungen: technische Web-Umsetzung.Passendes Tool / Use Case
Praxisbeispiele ansehenMöglicher Einsatz: ein Stack mit push/pop und festgelegtem Verhalten; TypeScript-Schnittstellen können Operationen beschreiben, Verhalten und Invarianten benötigen zusätzliche Spezifikation und Prüfung.Quellen
- web.mit.eduMIT 6.102, Abstract Data Types
- people.csail.mit.eduMIT, Bibliografie Liskov & Zilles (1974)
Quellenprüfung: 09.10.2026. Anwendungsbeispiele sind mögliche Szenarien, keine behaupteten Kundenfälle.
Redaktionell geprüft am: