11.10.2013 Aufrufe

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

7. Abstrakte Datentypen<br />

Abstrakte Datentypen wurden bereits im ersten Semester kurz eingeführt. Hier<br />

soll dieser Stoff rekapituliert <strong>und</strong> vertieft werden.<br />

Um Programme möglichst wiederverwendbar zu gestallten <strong>und</strong> von unnötigen<br />

Details zu abstrahieren, spezifizieren wir <strong>Datenstrukturen</strong> unabhängig von ihrer<br />

späteren Implementierung in einer konkreten Programmiersprache. Die Beschreibung<br />

ist so gestaltet, daß K<strong>und</strong>en sich der <strong>Datenstrukturen</strong> bedienen können, um<br />

Probleme zu lösen, daß aber die Implementierung jederzeit geändert werden kann,<br />

ohne daß die K<strong>und</strong>en etwas davon merken ( Geheimnisprinzip, programming by<br />

contract).<br />

Ziel kurzgefaßt:<br />

Beschreibung von <strong>Datenstrukturen</strong> unabhängig von ihrer späteren Implementierung<br />

in einer konkreten Programmiersprache<br />

Mittel hierzu sind ADT, Abstrakte Datentypen.<br />

Neu entwickelte Datentypen:<br />

¯ konkrete Datentypen: konstruiert aus Basisdatentypen bzw. Java-Klassen<br />

¯ abstrakte Datentypen: Spezifikation der Schnittstelle nach außen: Operationen<br />

<strong>und</strong> ihre Funktionalität<br />

Prinzipien von ADTen<br />

¯ ADT = Software-Modul<br />

¯ Kapselung: darf nur über Schnittstelle benutzt werden<br />

¯ Geheimnisprinzip: die interne Realisierung ist verborgen<br />

... somit sind ADTen Gr<strong>und</strong>lage des Prinzips der objektorientierten Programmierung!<br />

7.1. Spezifikation von ADTen<br />

Gerade für objektorientierte Spezifikation ist die Definition von abstrakten Datentypen<br />

eine geeignete Methode, da ADT in natürlicher Weise durch Klassen implementiert<br />

werden können.<br />

137

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!