22.08.2013 Aufrufe

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

3.7.1 Zusicherungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90<br />

3.7.2 Vor- und Nachbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />

3.7.3 Klasseninvarianten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />

3.7.4 Grenzen <strong>der</strong> Anwendbarkeit von Zusicherungen . . . . . . . . . . . . . . . . . . . . . . 95<br />

3.8 Vererbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />

3.8.1 Erben und Vorfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br />

3.8.2 Export geerbter Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br />

3.8.3 Redefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />

3.8.4 Polymorphismus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102<br />

3.8.5 Deklaration durch Assoziation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />

3.8.6 mssxDeferred Classes: Abstrakte Datentypen in mssxEiffel . . . . . . . . . . . . . . . . 106<br />

3.8.7 Mehrfachvererbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109<br />

3.8.8 Umbenennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br />

3.8.9 Wie<strong>der</strong>holtes Erben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113<br />

3.8.10 Vererbung und Zusicherungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />

3.8.11 Kaufen o<strong>der</strong> Erben? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117<br />

3.9 Arbeiten mit mssxEiffel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117<br />

3.10 Diskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119<br />

3.11 Sprachbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121<br />

3.11.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122<br />

3.11.2 Statische und Dynamische Semantik . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124<br />

3.12 Ergänzende Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124<br />

3.13 Deutsch-Englisches Begriffswörterbuch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124<br />

4 Systematische Entwicklung zuverlässiger Software 127<br />

4.1 Systematischer Entwurf von Softwaresystemen . . . . . . . . . . . . . . . . . . . . . . . . . . . 127<br />

4.1.1 Analyse und Gestaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128<br />

4.1.2 Grundideen des objektorientierten Entwurfs . . . . . . . . . . . . . . . . . . . . . . . . 129<br />

4.1.3 Aufspüren <strong>der</strong> Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />

4.1.4 Schnittstellentechniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />

4.1.5 Vererbungstechniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131<br />

4.1.6 Beispiel: Bibliothekenverwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132<br />

4.1.7 Ästhetik <strong>der</strong> Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137<br />

4.2 Verifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138<br />

4.2.1 Korrektheit von Routinen und Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . 139<br />

4.2.2 Ein Kalkül für Verifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141<br />

4.3 Strukturierung von Routinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!