reine Buchbestellungen ab 5 Euro senden wir Ihnen Portofrei zuDiesen Artikel senden wir Ihnen ohne weiteren Aufpreis als PAKET

Objektorientierte Programmierung
XLeitfäden der angewandten Informatik
Helmut Eirund

Print on Demand - Dieser Artikel wird für Sie gedruckt!

54,99 €

inkl. MwSt. · Portofrei
Dieses Produkt wird für Sie gedruckt, Lieferzeit 4-5 Werktage
Menge:

Objektorientierte Programmierung

Seiten
Erscheinungsdatum
Auflage
Ausstattung
Erscheinungsjahr
Sprache
Abbildungen
alternative Ausgabe
Kategorie
Buchtyp
Warengruppenindex
Warengruppe
Detailwarengruppe
Features
Laenge
Breite
Hoehe
Gewicht
Relevanz
Referenznummer
Moluna-Artikelnummer

Produktbeschreibung

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.
Die objektorientierte Programmierung fand nach ihrer Einfiihrung durch SIMULA und vor allem SMALLTALK zwar auf wissenschaftlichem Gebiet Beachtung als neues Prograrnmierparadigma, sie konnte sich aber als Implementierungskonzept im industriellen Umfeld zuniichst nicht durchsetzen. Der Durchbruch gelingt nun erst, seitdem erkannt wurde, daB Objektorientiertheit nicht nur als ein alternatives Programmierparadigma, sondern auch als eine Menge von Konzepten zur Reduzierung der Komplexitiit von Systemen (Datenbank-, Benutzungsschnittstellen-, Programmier- und Simu lationssysteme, urn die Wichtigsten zu nennen) verstanden wird. Die Handhabbarkeit der Komplexitiit von Systemen ist eines der zentralen Anliegen der Informatik und darnit ursiichlich fiir die Popularitiit neuer objektorientierter Sprachentwicklungen wie EIFFEL oder der auf C basierenden Sprachen OBJECTIVE-C und vor allem c++ verantwortlich. Dieses Buch will die Konzepte der objektorientierten Programmierung darstellen und ihre Auswirkungen auf das Ziel der Konstruktion besserer Software veranschaulichen. Es ist also kein "Programmieren in ... "-Buch, das eine Sprache ausschlieBlich tiber ihre syntaktischen Elemente einfiihrt. Allerdings wird die Moglichkeit gegeben, jeweils in deutlich abgesetzten Abschnitten die Umsetzung dieser Konzepte in c++ zu erlernen und in 30 Ubungsaufgaben zu vertiefen. c++ wird also erst mit dem Verstiindnis der objektorientierten Konzepte schrittweise erlernt und nicht als syntak tische Erweiterung der Sprache C priisentiert.
1. Motivation und Einführung.- 1.1 Vorzüge der objektorientierten Programmierung - ein Beispiel.- 1.2 Einordnung objektorientierter Sprachen.- 1.3 Zur Wahl von C++.- 2. Objekte und Objekttypen.- 2.1 Klassendefinitionen und Objekte - einige Grundbegriffe.- 2.2 Erzeugung und Verwaltung von Objekten.- 2.3 Von Klassenobjekten und Metaklassen.- 2.4 Typisierung und Polymorphie.- 2.5 Zusammenfassung.- 3. Klassen und ihre Beziehungen.- 3.1 Wiederverwendung von Klassendefinitionen.- 3.2 Verwendung von Typhierarchie und Klassenableitung.- 3.3 Zugriffsrechte und Sichtbarkeit.- 3.4 Abstrakte Klassen.- 3.5 Mehrfaches Erben.- 3.6 Generizität.- 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.2 Dokumentation objektorientierter Software.- 5.3 Qualitätssicherung und Tuning.- 5.4 Entwicklungsumgebung.- 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.

Inhaltsverzeichnis



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.


Klappentext



Die objektorientierte Programmierung fand nach ihrer Einfiihrung durch SIMULA und vor allem SMALLTALK zwar auf wissenschaftlichem Gebiet Beachtung als neues Prograrnmierparadigma, sie konnte sich aber als Implementierungskonzept im industriellen Umfeld zuniichst nicht durchsetzen. Der Durchbruch gelingt nun erst, seitdem erkannt wurde, daB Objektorientiertheit nicht nur als ein alternatives Programmierparadigma, sondern auch als eine Menge von Konzepten zur Reduzierung der Komplexitiit von Systemen (Datenbank-, Benutzungsschnittstellen-, Programmier- und Simu­ lationssysteme, urn die Wichtigsten zu nennen) verstanden wird. Die Handhabbarkeit der Komplexitiit von Systemen ist eines der zentralen Anliegen der Informatik und darnit ursiichlich fiir die Popularitiit neuer objektorientierter Sprachentwicklungen wie EIFFEL oder der auf C basierenden Sprachen OBJECTIVE-C und vor allem c++ verantwortlich. Dieses Buch will die Konzepte der objektorientierten Programmierung darstellen und ihre Auswirkungen auf das Ziel der Konstruktion besserer Software veranschaulichen. Es ist also kein "Programmieren in ... "-Buch, das eine Sprache ausschlieBlich tiber ihre syntaktischen Elemente einfiihrt. Allerdings wird die Moglichkeit gegeben, jeweils in deutlich abgesetzten Abschnitten die Umsetzung dieser Konzepte in c++ zu erlernen und in 30 Ubungsaufgaben zu vertiefen. c++ wird also erst mit dem Verstiindnis der objektorientierten Konzepte schrittweise erlernt und nicht als syntak­ tische Erweiterung der Sprache C priisentiert.



Datenschutz-Einstellungen