Kaum eine Software, die nicht mehr objektorientiert entworfen und entwickelt wird! In diesem Buch finden Sie alles, was Sie brauchen, um sich in die objektorientierte Programmierung einzuarbeiten. Die beiden Autoren erläutern alle Prinzipien und ihre Umsetzung anschaulich und verständlich anhand einer Vielzahl typischer Beispiele. Als Sprachen werden C++, Java, Ruby, C# und PHP eingesetzt. Anhand eines größeren Projekts bekommen Sie zudem einmal von Anfang bis Ende gezeigt, wie Sie OOP konsequent realisieren können. Des Weiteren bietet das Buch eine Einführung in die aspektorientierte Programmierung. Aus dem Inhalt Prinzipien des objektorientierten Entwurfs Basis der Objektorientierung Kapselung von Daten Polymorphie Struktur objektorientierter Software Klassen und Vererbung Konkrete und abstrakte Datentypen Beziehungen zwischen Objekten Klassen von Werten und Objekten Vererbungsbeziehungen Mehrfachvererbung Statische und dynamische Klassifizierung Persistenz Erzeugung von Objekten Zerstörung von Objekten Objekte in Aktion und in Interaktion Objekte als Vertragspartner Module als konfigurierbare und änderbare Komponenten MVC Aspekte und Objektorientierung Beispielprojekt
Praxisbeispiele in UML, Java, C#, C++, JavaScript, Ruby, Python und PHP
Inhalt
1 ... Einleitung ... 13 ... 1.1 ... Was ist Objektorientierung? ... 13 ... 1.2 ... Hallo liebe Zielgruppe ... 14 ... 1.3 ... Was bietet dieses Buch (und was nicht)? ... 15 ... 1.4 ... Warum überhaupt Objektorientierung? ... 22 2 ... Die Basis der Objektorientierung ... 27 ... 2.1 ... Die strukturierte Programmierung als Vorläufer der Objektorientierung ... 28 ... 2.2 ... Die Kapselung von Daten ... 31 ... 2.3 ... Polymorphie ... 32 ... 2.4 ... Die Vererbung ... 34 3 ... Die Prinzipien des objektorientierten Entwurfs ... 39 ... 3.1 ... Prinzip 1: Prinzip einer einzigen Verantwortung ... 40 ... 3.2 ... Prinzip 2: Trennung der Anliegen ... 45 ... 3.3 ... Prinzip 3: Wiederholungen vermeiden ... 47 ... 3.4 ... Prinzip 4: Offen für Erweiterung, geschlossen für Änderung ... 50 ... 3.5 ... Prinzip 5: Trennung der Schnittstelle von der Implementierung ... 53 ... 3.6 ... Prinzip 6: Umkehr der Abhängigkeiten ... 56 ... 3.7 ... Prinzip 7: Mach es testbar ... 62 4 ... Die Struktur objektorientierter Software ... 65 ... 4.1 ... Die Basis von allem: das Objekt ... 65 ... 4.2 ... Klassen: Objekte haben Gemeinsamkeiten ... 84 ... 4.3 ... Beziehungen zwischen Objekten ... 117 ... 4.4 ... Klassen von Werten und Klassen von Objekten ... 133 5 ... Vererbung und Polymorphie ... 155 ... 5.1 ... Die Vererbung der Spezifikation ... 155 ... 5.2 ... Polymorphie und ihre Anwendungen ... 193 ... 5.3 ... Die Vererbung der Implementierung ... 239 ... 5.4 ... Mehrfachvererbung ... 261 ... 5.5 ... Statische und dynamische Klassifizierung ... 289 6 ... Persistenz ... 299 ... 6.1 ... Serialisierung von Objekten ... 299 ... 6.2 ... Speicherung in Datenbanken ... 300 ... 6.3 ... Abbildung auf relationale Datenbanken ... 307 ... 6.4 ... Normalisierung und Denormalisierung ... 320 7 ... Abläufe in einem objektorientierten System ... 337 ... 7.1 ... Erzeugung von Objekten mit Konstruktoren und Prototypen ... 338 ... 7.2 ... Fabriken als Abstraktionsebene für die Objekterzeugung ... 349 ... 7.3 ... Objekte löschen ... 397 ... 7.4 ... Objekte in Aktion und in Interaktion ... 412 ... 7.5 ... Kontrakte: Objekte als Vertragspartner ... 455 ... 7.6 ... Exceptions: Wenn der Kontrakt nicht eingehalten werden kann ... 471 8 ... Module und Architektur ... 503 ... 8.1 ... Module als konfigurierbare und änderbare Komponenten ... 503 ... 8.2 ... Die Präsentationsschicht: Model, View, Controller (MVC) ... 511 9 ... Aspekte und Objektorientierung ... 527 ... 9.1 ... Trennung der Anliegen ... 527 ... 9.2 ... Aspektorientiertes Programmieren ... 539 ... 9.3 ... Anwendungen der Aspektorientierung ... 550 ... 9.4 ... Annotations ... 562 10 ... Objektorientierung am Beispiel: Eine Web-Applikation mit PHP 5 und Ajax ... 573 ... 10.1 ... OOP in PHP ... 574 ... 10.2 ... Das entwickelte Framework -- Trennung der Anliegen -- Model View Controller ... 578 ... 10.3 ... Ein Dienst in PHP ... 580 ... 10.4 ... Ein Klient in Ajax ... 586 ... 10.5 ... Ein Container für Dienste in PHP ... 598 ... 10.6 ... Ein Klient ohne JavaScript ... 615 ... 10.7 ... Was noch übrigbleibt ... 619 ... Anhang ... 621 A ... Verwendete Programmiersprachen ... 623 ... A.1 ... C++ ... 623 ... A.2 ... Java ... 626 ... A.3 ... C# ... 629 ... A.4 ... JavaScript ... 629 ... A.5 ... CLOS ... 632 ... A.6 ... Python ... 635 ... A.7 ... Ruby ... 637 B ... Literaturverzeichnis ... 641 ... B.1 ... Allgemeine Bücher zur Softwareentwicklung ... 641 ... B.2 ... Bücher über die UML und die verwendeten Programmiersprachen ... 643
Praxisbeispiele in UML, Java, C#, C++, JavaScript, Ruby, Python und PHP
Inhalt
1 ... Einleitung ... 13 ... 1.1 ... Was ist Objektorientierung? ... 13 ... 1.2 ... Hallo liebe Zielgruppe ... 14 ... 1.3 ... Was bietet dieses Buch (und was nicht)? ... 15 ... 1.4 ... Warum überhaupt Objektorientierung? ... 22 2 ... Die Basis der Objektorientierung ... 27 ... 2.1 ... Die strukturierte Programmierung als Vorläufer der Objektorientierung ... 28 ... 2.2 ... Die Kapselung von Daten ... 31 ... 2.3 ... Polymorphie ... 32 ... 2.4 ... Die Vererbung ... 34 3 ... Die Prinzipien des objektorientierten Entwurfs ... 39 ... 3.1 ... Prinzip 1: Prinzip einer einzigen Verantwortung ... 40 ... 3.2 ... Prinzip 2: Trennung der Anliegen ... 45 ... 3.3 ... Prinzip 3: Wiederholungen vermeiden ... 47 ... 3.4 ... Prinzip 4: Offen für Erweiterung, geschlossen für Änderung ... 50 ... 3.5 ... Prinzip 5: Trennung der Schnittstelle von der Implementierung ... 53 ... 3.6 ... Prinzip 6: Umkehr der Abhängigkeiten ... 56 ... 3.7 ... Prinzip 7: Mach es testbar ... 62 4 ... Die Struktur objektorientierter Software ... 65 ... 4.1 ... Die Basis von allem: das Objekt ... 65 ... 4.2 ... Klassen: Objekte haben Gemeinsamkeiten ... 84 ... 4.3 ... Beziehungen zwischen Objekten ... 117 ... 4.4 ... Klassen von Werten und Klassen von Objekten ... 133 5 ... Vererbung und Polymorphie ... 155 ... 5.1 ... Die Vererbung der Spezifikation ... 155 ... 5.2 ... Polymorphie und ihre Anwendungen ... 193 ... 5.3 ... Die Vererbung der Implementierung ... 239 ... 5.4 ... Mehrfachvererbung ... 261 ... 5.5 ... Statische und dynamische Klassifizierung ... 289 6 ... Persistenz ... 299 ... 6.1 ... Serialisierung von Objekten ... 299 ... 6.2 ... Speicherung in Datenbanken ... 300 ... 6.3 ... Abbildung auf relationale Datenbanken ... 307 ... 6.4 ... Normalisierung und Denormalisierung ... 320 7 ... Abläufe in einem objektorientierten System ... 337 ... 7.1 ... Erzeugung von Objekten mit Konstruktoren und Prototypen ... 338 ... 7.2 ... Fabriken als Abstraktionsebene für die Objekterzeugung ... 349 ... 7.3 ... Objekte löschen ... 397 ... 7.4 ... Objekte in Aktion und in Interaktion ... 412 ... 7.5 ... Kontrakte: Objekte als Vertragspartner ... 455 ... 7.6 ... Exceptions: Wenn der Kontrakt nicht eingehalten werden kann ... 471 8 ... Module und Architektur ... 503 ... 8.1 ... Module als konfigurierbare und änderbare Komponenten ... 503 ... 8.2 ... Die Präsentationsschicht: Model, View, Controller (MVC) ... 511 9 ... Aspekte und Objektorientierung ... 527 ... 9.1 ... Trennung der Anliegen ... 527 ... 9.2 ... Aspektorientiertes Programmieren ... 539 ... 9.3 ... Anwendungen der Aspektorientierung ... 550 ... 9.4 ... Annotations ... 562 10 ... Objektorientierung am Beispiel: Eine Web-Applikation mit PHP 5 und Ajax ... 573 ... 10.1 ... OOP in PHP ... 574 ... 10.2 ... Das entwickelte Framework -- Trennung der Anliegen -- Model View Controller ... 578 ... 10.3 ... Ein Dienst in PHP ... 580 ... 10.4 ... Ein Klient in Ajax ... 586 ... 10.5 ... Ein Container für Dienste in PHP ... 598 ... 10.6 ... Ein Klient ohne JavaScript ... 615 ... 10.7 ... Was noch übrigbleibt ... 619 ... Anhang ... 621 A ... Verwendete Programmiersprachen ... 623 ... A.1 ... C++ ... 623 ... A.2 ... Java ... 626 ... A.3 ... C# ... 629 ... A.4 ... JavaScript ... 629 ... A.5 ... CLOS ... 632 ... A.6 ... Python ... 635 ... A.7 ... Ruby ... 637 B ... Literaturverzeichnis ... 641 ... B.1 ... Allgemeine Bücher zur Softwareentwicklung ... 641 ... B.2 ... Bücher über die UML und die verwendeten Programmiersprachen ... 643
Titel
Objektorientierte Programmierung
Untertitel
Das umfassende Handbuch
Autor
EAN
9783836232142
Format
E-Book (pdf)
Hersteller
Veröffentlichung
28.03.2009
Digitaler Kopierschutz
Wasserzeichen
Anzahl Seiten
656
Lesemotiv
Unerwartete Verzögerung
Ups, ein Fehler ist aufgetreten. Bitte versuchen Sie es später noch einmal.