Inhalt
1. Einleitung.- 1.1 Was ist objektorientiertes Programmieren (nicht)?.- 1.2 Wofür wird objektorientiertes Programmieren benötigt?.- 1.3 Überblick über den Inhalt.- 1.4 Wie können Sie dieses Buch benutzen?.- 1.5 Literatur.- 2. Abstrakte Datentypen.- 2.1 Arten der Komplexitätsbewältigung.- 2.2 Eigenschaften abstrakter Datentypen.- 2.3 Beispiele.- 2.4 Erweiterung durch generische Parameter.- 2.5 Abstrakte Datentypen und objektorientiertes Programmieren.- 3. Konzepte objektorientierter Programmierung.- 3.1 Objekte.- 3.2 Klassen.- 3.3 Botschaften.- 3.4 Generizität.- 3.5 Vererbung.- 3.6 Mehrfachvererbung.- 3.7 Relationen.- 3.7.1 Is-A-Relation.- 3.7.2 A-Kind-Of-Relation.- 3.7.3 Has-A-Relation.- 3.7.4 Part-Of-Relation.- 3.8 Zugriffsrechte.- 3.9 Statisches und dynamisches Binden.- 3.10 Polymorphismus.- 3.11 Virtuelle Methodentabellen.- 3.12 Persistenz.- 3.13 Nebenläufigkeit.- 4. Eine (endgültige) Definition von objektorientiertem Programmieren.- 4.1 Globale Formulierungen von objektorientiert.- 4.2 Konkrete Definitionen.- 5. Objektorientierte Programmiersprachen.- 5.1 Übersicht.- 5.2 Simula.- 5.3 Smalltalk.- 5.4 Eiffel.- 5.5 Obiective-C.- 5.5 C++.- 5.7 Zusammenfassung.- 6. Software Engineering.- 6.1 Ziele und Begriffe des Software Engineering.- 6.2 Überblick über Methoden der Softwaretechnik.- 6.3 Objektorientierter Systementwurf.- 6.4 Einordnung des vorgestellten Verfahrens.- 7. Objektorientierter Systementwurf.- 7.1 Überblick über das Verfahren.- 7.2 Entdeckungsphase.- 7.3 Analysephase.- 7.4 Entwurf der Semesterdatenverwaltung.- 7.5 Zusammenfassung.- 8. Klassen in C++.- 8.1 Allgemeines zu C++.- 8.2 Klasspn und Inhalte von Klassen.- 8.3 Konstruktoren und Destruktoren.- 8.4 Weitere Eigenschaften von Klassen.- 8.5 Welche Methoden benötigt eine Klasse?.- 9.Vererbung in C++.- 9.1 Prinzip der Vererbung.- 9.2 Zugriffsrechte.- 9.3 Konstruktoren und Destruktoren.- 9.4 Virtuelle Methoden.- 9.5 Mehrfachvererbung.- 10. Weitere Möglichkeiten von C++.- 10.1 Dynamisches Verwalten von Objekten.- 10.2 Referenzen auf Obiekte.- 10.3 Einfache Ein- und Ausgabe.- 10.4 Überladen von Operatoren.- 11. Programmierung einer einfachen Klassenhierarchie.- 11.1 Aufgabenstellung.- 11.2 Herleitung der Lö suns.- 11.3 Diskussion der Programme.- 11.4 Zusammenfassung.- 12. Programmierung und Vergleich verschiedener Zugriffsmöglichkeiten auf Klassenelemente.- 12.1 Aufgabenstellung.- 12.2 Herleitung der Lösung.- 12.3 Programmtexte und Diskussion.- 13. Proerrammierung des Systementwurfs.- 13.1 Wie werden Klassen umgesetzt?.- 13.2 Wie werden Teilsysteme umgesetzt?.- 13.3 Wie werden Kontrakte umgesetzt?.- 13.4 Die Semesterdatenverwaltung.- 13.5 Ausblick.- 13.6 Programmtexte.- A. Programmtexte der einfachen Klassenhierarchie.- B. Programmtexte des Vergleichs verschiedener Zugriffsmöglichkeiten auf Klassenelemente.
1. Einleitung.- 1.1 Was ist objektorientiertes Programmieren (nicht)?.- 1.2 Wofür wird objektorientiertes Programmieren benötigt?.- 1.3 Überblick über den Inhalt.- 1.4 Wie können Sie dieses Buch benutzen?.- 1.5 Literatur.- 2. Abstrakte Datentypen.- 2.1 Arten der Komplexitätsbewältigung.- 2.2 Eigenschaften abstrakter Datentypen.- 2.3 Beispiele.- 2.4 Erweiterung durch generische Parameter.- 2.5 Abstrakte Datentypen und objektorientiertes Programmieren.- 3. Konzepte objektorientierter Programmierung.- 3.1 Objekte.- 3.2 Klassen.- 3.3 Botschaften.- 3.4 Generizität.- 3.5 Vererbung.- 3.6 Mehrfachvererbung.- 3.7 Relationen.- 3.7.1 Is-A-Relation.- 3.7.2 A-Kind-Of-Relation.- 3.7.3 Has-A-Relation.- 3.7.4 Part-Of-Relation.- 3.8 Zugriffsrechte.- 3.9 Statisches und dynamisches Binden.- 3.10 Polymorphismus.- 3.11 Virtuelle Methodentabellen.- 3.12 Persistenz.- 3.13 Nebenläufigkeit.- 4. Eine (endgültige) Definition von objektorientiertem Programmieren.- 4.1 Globale Formulierungen von objektorientiert.- 4.2 Konkrete Definitionen.- 5. Objektorientierte Programmiersprachen.- 5.1 Übersicht.- 5.2 Simula.- 5.3 Smalltalk.- 5.4 Eiffel.- 5.5 Obiective-C.- 5.5 C++.- 5.7 Zusammenfassung.- 6. Software Engineering.- 6.1 Ziele und Begriffe des Software Engineering.- 6.2 Überblick über Methoden der Softwaretechnik.- 6.3 Objektorientierter Systementwurf.- 6.4 Einordnung des vorgestellten Verfahrens.- 7. Objektorientierter Systementwurf.- 7.1 Überblick über das Verfahren.- 7.2 Entdeckungsphase.- 7.3 Analysephase.- 7.4 Entwurf der Semesterdatenverwaltung.- 7.5 Zusammenfassung.- 8. Klassen in C++.- 8.1 Allgemeines zu C++.- 8.2 Klasspn und Inhalte von Klassen.- 8.3 Konstruktoren und Destruktoren.- 8.4 Weitere Eigenschaften von Klassen.- 8.5 Welche Methoden benötigt eine Klasse?.- 9.Vererbung in C++.- 9.1 Prinzip der Vererbung.- 9.2 Zugriffsrechte.- 9.3 Konstruktoren und Destruktoren.- 9.4 Virtuelle Methoden.- 9.5 Mehrfachvererbung.- 10. Weitere Möglichkeiten von C++.- 10.1 Dynamisches Verwalten von Objekten.- 10.2 Referenzen auf Obiekte.- 10.3 Einfache Ein- und Ausgabe.- 10.4 Überladen von Operatoren.- 11. Programmierung einer einfachen Klassenhierarchie.- 11.1 Aufgabenstellung.- 11.2 Herleitung der Lö suns.- 11.3 Diskussion der Programme.- 11.4 Zusammenfassung.- 12. Programmierung und Vergleich verschiedener Zugriffsmöglichkeiten auf Klassenelemente.- 12.1 Aufgabenstellung.- 12.2 Herleitung der Lösung.- 12.3 Programmtexte und Diskussion.- 13. Proerrammierung des Systementwurfs.- 13.1 Wie werden Klassen umgesetzt?.- 13.2 Wie werden Teilsysteme umgesetzt?.- 13.3 Wie werden Kontrakte umgesetzt?.- 13.4 Die Semesterdatenverwaltung.- 13.5 Ausblick.- 13.6 Programmtexte.- A. Programmtexte der einfachen Klassenhierarchie.- B. Programmtexte des Vergleichs verschiedener Zugriffsmöglichkeiten auf Klassenelemente.
Titel
Objektorientiertes Programmieren
Untertitel
Mit Beispielen und Übungen in C++
Autor
EAN
9783642974229
Format
E-Book (pdf)
Hersteller
Veröffentlichung
13.03.2013
Digitaler Kopierschutz
Wasserzeichen
Anzahl Seiten
246
Auflage
1993
Lesemotiv
Unerwartete Verzögerung
Ups, ein Fehler ist aufgetreten. Bitte versuchen Sie es später noch einmal.