E-Book, Deutsch, 286 Seiten, eBook
Mössenböck Objektorientierte Programmierung in Oberon-2
2. Auflage 1994
ISBN: 978-3-642-97560-8
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Deutsch, 286 Seiten, eBook
ISBN: 978-3-642-97560-8
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark
Die 2., überarbeitete Auflage des erfolgreichen Titels behandelt neben den Grundlagen der objektorientierten Programmierung wie Klassen, Vererbung und dynamische Bindung auch Fragen des objektorientierten Entwurfs, zeigt typische Anwendungsmuster von Klassen und gibt Hinweise für nützliche Programmiertechniken. Es zeigt, wofür sich objektorientierte Programmierung eignet, welche Probleme man mit ihr lösen kann und für welche man besser konventionelle Mittel benutzt. Als Programmiersprache wird Oberon-2 verwendet, eine an der ETH Zürich aus Pascal und Modula-2 hervorgegangene Sprache. Neben modernen Prinzipien der Softwaretechnik wie strenge Typenprüfung, Modularität und Objektorientiertheit zeichnet sich Oberon-2 durch besondere Einfachheit aus. Wer Pascal oder Modula-2 beherrscht, kann Oberon-2-Programme ohne Schwierigkeit lesen. Oberon-2-Compiler sind für verschiedene Rechner von der ETH Zürich erhältlich. Auch der Quellcode der in diesem Buch enthaltenen Fallstudie kann über die ETH angefordert werden.
Zielgruppe
Professional/practitioner
Weitere Infos & Material
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.8Hä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.