E-Book, Deutsch, 238 Seiten, eBook
Eirund Objektorientierte Programmierung
1993
ISBN: 978-3-322-89217-1
Verlag: Vieweg & Teubner
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Deutsch, 238 Seiten, eBook
Reihe: XLeitfäden der angewandten Informatik
ISBN: 978-3-322-89217-1
Verlag: Vieweg & Teubner
Format: PDF
Kopierschutz: 1 - PDF Watermark
Zielgruppe
Professional/practitioner
Autoren/Hrsg.
Weitere Infos & Material
1. Motivation und Einführung.- 1.1 Vorzüge der objektorientierten Programmierung — ein Beispiel.- 1.1.1 Von der Abstraktion des Problems zum freien Spiel der Objekte.- 1.1.2 Modularität.- 1.1.3 Wiederverwendbarkeit von Software.- 1.1.4 Erweiterbarkeit — Systeme wachsen mit.- 1.2 Einordnung objektorientierter Sprachen.- 1.2.1 Entwicklung von Programmierparadigmen.- 1.2.2 Objektbasierte und objektorientierte Software-Systeme.- 1.2.3 Evolution problemorientierter Sprachen.- 1.3 Zur Wahl von C++.- 2. Objekte und Objekttypen.- 2.1 Klassendefinitionen und Objekte — einige Grundbegriffe.- C1 Klassendefinition.- C2 Ablage der Klassendefinition.- C3 Zugriff auf Merkmale.- 2.2 Erzeugung und Verwaltung von Objekten.- 2.2.1 Lebensdauer und Gültigkeitsbereiche.- C4 Aufruf von Konstruktoren und Destruktoren.- 2.2.2 Initialisierung und Zuweisungssemantik.- C5 Initialisierungs- und Zuweisungsmethoden.- 2.3 Von Klassenobjekten und Metaklassen.- C6 Merkmale von Klassenobjekten.- 2.4 Typisierung und Polymorphie.- 2.4.1 Statische versus dynamische Typisierung.- 2.4.2 Polymorphie in statisch getypten objektorientierten Sprachen.- C7 Überladen von Methoden und Standard-Operatoren.- C8 Spezielle Operatoren für benutzerdefinierte Typen.- C9 Polymorphie durch automatische Argumentkonvertierung.- C10 Überladene Methoden mit optionalen Parametern.- 2.5 Zusammenfassung.- 3. Klassen und ihre Beziehungen.- 3.1 Wiederverwendung von Klassendefinitionen.- 3.1.1 Unterklassen versus Untertypen.- 3.1.2 Konstruktion von Instanzen in Unterklassen.- C11 Ableiten von Klassen.- C12 Konstruktion von Objekten in abgeleiteten Klassen.- 3.2 Verwendung von Typhierarchie und Klassenableitung.- 3.2.1 Klassenerweiterung um „Mehr Merkmale“.- 3.2.2 Klassenspezialisierung durch „Speziellere Merkmale“.- 3.2.3 Polymorphie und dynamisches Binden in getypten Sprachen.- C13 Redefinition von Methoden und dynamisches Binden.- 3.3 Zugriffsrechte und Sichtbarkeit.- 3.3.1 Sichtbarkeiten zwischen Klassen.- 3.3.2 Sichtbarkeiten auf Objekte.- 3.3.3 Nur-lesender Objektzugriff.- C14 Mechanismen zur Definition von Sichtbarkeit.- C15 Art der Ableitung.- C16 Objektkapselung.- C17 Konstante Attribute.- C18 Sicherheitslücken in C++.- 3.4 Abstrakte Klassen.- 3.4.1 Erweiterte Nutzung der Polymorphie in getypten Sprachen.- 3.4.2 Schnittstellenvereinbarung im Projektmanagement.- 3.4.3 Wiederverwendung von objektorientierter Software.- C19 Definition Abstrakter Klassen.- 3.5 Mehrfaches Erben.- 3.5.1 Probleme beim mehrfachen Erben gleichbenannter Merkmale.- C20 Mehrfaches Erben von Merkmalen.- C21 Gleichbenannte Merkmale.- C22 Wiederholtes Erben aus einer gemeinsamen Basisklasse.- 3.6 Generizität.- 3.6.1 Objektorientierte Simulation der Generizität.- 3.6.2 Vergleich von Vererbung, Generizität und Überladung.- C23 Templates in C++.- C24 Simulation von Generizität durch Alternative Schnittstelle.- 3.7 Zusammenfassung.- 4. Objektorientierte Sprachen.- 4.1 Die Vergleichskriterien objektorientierter Sprachen.- 4.2 C++.- 4.3 SIMULA-67.- 4.4 SMALLTALK-80.- 4.5 OBJECTIVE-C.- 4.6 EIFFEL.- 4.7 CLOS.- 4.8 PROLOG++.- 4.9 Sonstige objektorientierte Sprachen.- 5. Entwicklung objektorientierter Software.- 5.1 Objektorientierte Analyse und Design.- 5.1.1 Von funktionaler Dekomposition zum objektorientierten Design.- 5.1.2 Objektorientiertes Design im 5-Phasen-Modell.- 5.1.3 Entwurf mit CRC-Karten.- 5.1.4 Der Einsatz von objektorientierten Mechanismen im Entwurf.- 5.1.5 Weitere Verfahren in der Literatur.- 5.2 Dokumentation objektorientierter Software.- 5.2.1 Graphische Notationen.- 5.2.2 Hinweise zur Gestaltung des Programm-Codes.- 5.3 Qualitätssicherung und Tuning.- 5.3.1 Gütekriterien.- 5.3.2 Effizienzverbesserungen.- 5.4 Entwicklungsumgebung.- 5.4.1 Werkzeuge für die Analyse und das Design.- 5.4.2 Werkzeuge zur Code-Entwicklung und Überprüfung.- 5.4.3 Werkzeuge zur Dokumentation.- Glossar Objektorientierte Programmierung.- A Die C++-Realisierung zu Kapitel 1.- A.1 Das Fuhrpark-Problem in C++.- A.2 Das Verleihfirma-Problem in C++.- A.3 Erweiterung des Verleihfirma-Problems in C++.- B Grundlagen der Sprache C.- B.1 Basistypen und Typkonstruktoren in C.- B.2 Kontrollstrukturen und Operatoren.- B.3 Sonstiges zu C.- C Die Syntax von C++.- D Ein-/Ausgabe in C++.- D.1 Standard-Ein-/Ausgabe.- D.2 Datei-Ein-/Ausgabe.- E Aufgaben und Lösungen.- E.1 Aufgaben zu Kapitel 2.- E.2 Aufgaben zu Kapitel 3.- E.3 Aufgaben zu Kapitel 5.- E.4 Lösungen.- Literatur.




