Die zweite, überarbeitete Auflage des erfolgreichen Buches behandelt neben den Grundlagen der objektorientierten Programmierung auch Fragen des objektorientierten Entwurfs, zeigt typische Anwendungsmuster von Klassen und gibt Hinweise für Programmiertechniken.
Der Autor beschreibt Anwendungsmöglichkeiten, Vorteile und Probleme der objektorientierten Programmierung. Als Programmiersprache wird Oberon-2 verwendet, eine an der ETH Zürich aus Pascal und Modula-2 hervorgegangene Sprache. Oberon-+2- Compiler sind für verschiedene Rechner von der ETH Zürich erhältlich. Auch der Quellcode der im Buch enthaltenen Fallstudie kann über die ETH angefordert werden.
Rezensionen / Stimmen
"Das Buch ist eine schön gegliederte Einführung in dieses neue Sachgebiet... Es ist daher eine Bereicherung für jeden, der an moderner Programmiermethodik interessiert ist." (N. Wirth)
Auflage
Sprache
Verlagsort
Verlagsgruppe
Zielgruppe
Editions-Typ
Maße
Höhe: 23.5 cm
Breite: 15.5 cm
Gewicht
ISBN-13
978-3-540-57789-8 (9783540577898)
DOI
10.1007/978-3-642-97560-8
Schweitzer Klassifikation
1. Überblick.- 1.1 Prozedurorientiertes Denken.- 1.2 Objektorientiertes Denken.- 1.3 Objektorientierte Sprachen.- 1.4 Unterschiede zu herkömmlicher Programmierung.- 1.5 Klassen als Abstraktionsmechanismen.- 1.6 Geschichte objektorientierter Sprachen.- 1.7 Zusammenfassung.- 2. Oberon-2.- 2.1 Merkmale von Oberon-2.- 2.2 Deklarationen.- 2.3 Ausdrücke.- 2.4 Anweisungen.- 2.5 Prozeduren.- 2.6 Module.- 2.7 Kommandos.- 3. Datenabstraktion.- 3.1 Konkrete Datenstrukturen.- 3.2 Abstrakte Datenstrukturen.- 3.3 Abstrakte Datentypen.- 4. Klassen.- 4.1 Methoden.- 4.2 Klassen und Module.- 4.3 Beispiele.- 4.4 Häufige Fragen.- 5. Vererbung.- 5.1 Typerweiterung.- 5.2 Kompatibilität zwischen Basistyp und Erweiterung.- 5.3 Statischer und dynamischer Typ.- 5.4 Laufzeit-Typprüfungen.- 5.5 Erweiterbarkeit im objektorientierten Sinn.- 5.6 Häufige Fragen.- 6. Dynamische Bindung.- 6.1 Meldungen.- 6.2 Abstrakte Klassen.- 6.3 Beispiele.- 6.4 Meldungsrecords.- 6.5 Häufige Fragen.- 7. Typische Anwendungen.- 7.1 Abstrakte Datentypen.- 7.2 Generische Bausteine.- 7.3 Heterogene Datenstrukturen.- 7.4 Austauschbares Verhalten.- 7.5 Anpassung bestehender Bausteine.- 7.6 Halbfabrikate.- 7.7 Zusammenfassung.- 8. Nützliche Techniken.- 8.1 Initialisierung von Objekten.- 8.2 Erweitern eines Systems zur Laufzeit.- 8.3 Persistente Objekte.- 8.4 Einbettung von Klassen in andere Klassen.- 8.5 Erweiterbarkeit in mehrere Richtungen.- 8.6 Mehrfache Vererbung.- 8.7 Datenmodelle und ihre Sichten.- 8.8 Iteratoren.- 8.9 Abänderung geerbter Methoden.- 9. Objektorientierter Entwurf.- 9.1 Aufgabenorientierte Sicht.- 9.2 Objektorientierte Sicht.- 9.3 Wie findet man Klassen.- 9.4 Klassenschnittstellen.- 9.5 Abstrakte Klassen.- 9.6 Beziehungen zwischen Klassen.- 9.7 Wann sind Klassen sinnvoll und wann nicht.- 9.8 Häufige Entwurfsfehler.- 10 Gerüste.- 10.1 Gerüste als erweiterbare Systeme.- 10.2 Das MVC-Gerüst.- 10.3 Ein Gerüst für Objekte in Texten.- 10.4 Programmgerüste.- 11 Oberon0-Eine Fallstudie.- 11.1 Das Fenstersystem.- 11.2 Verteilung von Benutzereingaben.- 11.3 Ein Texteditor.- 11.4 Ein Grafikeditor.- 11.5 Einbettung von Grafiken in Texte.- 12 Kosten und Nutzen der objektorientierten Programmierung.- 12.1 Nutzen.- 12.2 Kosten.- 12.3 Ausblick.- Anhänge: A Sprachdefinition von Oberon-2.- Anhänge: B Modul OS.- Anhänge: C Modul IO.- Anhänge: D Bezugsquelle von Oberon-2.- Stichwortverzeichnis.