Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Objektorientierte Programmierung

Einstieg und Praxis
Buch | Hardcover
656 Seiten
2009 | 2. Auflage
Rheinwerk (Verlag)
978-3-8362-1401-8 (ISBN)

Lese- und Medienproben

Objektorientierte Programmierung - Bernhard Lahres, Gregor Rayman
CHF 69,85 inkl. MwSt
zur Neuauflage
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
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

Galileo Press heißt jetzt Rheinwerk Verlag.

Bernhard Lahres, Diplom-Informatiker, ist Gesellschafter der Hamburger scopus GmbH, die sich auf Projekte und Technologieberatung im Bereich XML und XML-basierte Dokumentationssysteme spezialisiert hat. Außerdem arbeitet er als freier Berater in den Bereichen objektorientierte Software-Architekturen und Software-Entwicklungsprozesse. Dabei wirkte er an großen Softwareprojekten u.a. im Banken- und im Mobilfunkbereich mit. Er hat dabei die Möglichkeiten, aber auch die Grenzen der objektorientierten Methoden in der Praxis kennen gelernt.

Gregor Rayman, Dipl.-Mathematiker, arbeitet als Softwareberater und -entwickler in den Branchen Industrie, Automotive, Dienstleistungen und in letzter Zeit hauptsächlich in der Telekommunikation. Er ist Geschäftsführer der Internet Technology DE GmbH.


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

Breiter angelegt geht es kaum. Von den wesentlichen Eigenschaften der OOP bis hin zur Aspektorientierung reicht das Themenspektrum, das ausreichend Lernstoff bieten sollte. iX - Magazin für professionelle Informationstechnik 200906

2 Die Basis der Objektorientierung (S. 27-28)

Vor der Frage, wie objektorientierte Verfahren am besten eingesetzt werden, drängt sich die Frage auf, warum Sie denn solche Verfahren einsetzen sollten. Die Objektorientierung hat sich seit Anfang der Neunzigerjahre des letzten Jahrhunderts als Standardmethode der Softwareentwicklung etabliert. Aber nur weil etwas mittlerweile als Standard gilt, muss es noch lange nicht nützlich sein. Das alleine reicht als Motivation für objektorientierte Verfahren nicht aus.

Objektorientierung löst einige Probleme, ... Die Techniken der objektorientierten Softwareentwicklung unterstützen uns dabei, Software einfacher erweiterbar, besser testbar und besser wartbar zu machen. ... aber nicht alle. Allerdings dürfen Sie sich von der Objektorientierung nicht Antworten auf alle Probleme und Aufgabenstellungen der Softwareentwicklung erwarten. Die Erwartungen an die Möglichkeiten dieser Vorgehensweise werden in vielen Projekten zu hoch gesteckt.

Zum einen führt die Nutzung objektorientierter Basismechanismen und objektorientierter Programmiersprachen nicht automatisch zu guten Programmen. Zum anderen adressiert die Objektorientierung einige Problemstellungen gar nicht oder bietet nur unvollständige Lösungsstrategien dafür. Bei der Vorstellung des Prinzips der Trennung von Anliegen im nächsten Kapitel werden Sie zum Beispiel sehen, dass die Objektorientierung dieses Prinzip nur unvollständig unterstützt.

Die Objektorientierung bietet aber einen soliden Werkzeugkasten an, der es uns erlaubt, die Zielsetzungen der Entwicklung von Software anzugehen. Die Basiswerkzeuge in diesem Werkzeugkasten sind die drei Grundelemente objektorientierter Software: Datenkapselung Polymorphie Vererbung Wir geben im Folgenden einen kurzen Überblick über die drei Basistechniken. Dabei werden wir auf Begriffe vorgreifen müssen, die erst später im Buch eingeführt werden.

Sie sollen aber hier bereits einen ersten Eindruck davon erhalten, welche Möglichkeiten die Objektorientierung bietet. Die Details und formalen Definitionen werden wir Ihnen im weiteren Verlauf des Buchs nachreichen, versprochen. Um Ihnen die Vorteile der objektorientierten Programmierung verdeutlichen zu können, beginnen wir aber zunächst mit einer Kurzzusammenfassung der Verfahren der strukturierten Programmierung, die ja der Vorläufer der objektorientierten Vorgehensweise ist.

2.1 Die strukturierte Programmierung als Vorläufer der Objektorientierung

Die objektorientierte Softwareentwicklung baut auf den Verfahren der strukturierten Programmierung auf. Um die Motivation für die Verwendung von objektorientierten Methoden zu verstehen, gehen wir einen Schritt zurück und werfen einen Blick auf die Mechanismen der strukturierten Programmierung und auch auf deren Grenzen. Programmiersprachen, die dem Paradigma1 des strukturierten Programmierens folgen, sind zum Beispiel PASCAL oder C. Der Inhalt des benutzten Computerspeichers kann für die meisten Programme in zwei Kategorien unterteilt werden. Einerseits enthält der Speicher Daten, die bearbeitet werden, andererseits enthält er Instruktionen, die bestimmen, was das Programm macht. Jetzt werden Sie auf einige Begriffe treffen, die Ihnen sehr wahrscheinlich bekannt sind, die aber unterschiedlich interpretiert werden können. Wir schicken deshalb einige kurze Definitionen vorweg.

Erscheint lt. Verlag 30.3.2009
Reihe/Serie Galileo Computing
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Gewicht 1215 g
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Software Entwicklung Objektorientierung
Schlagworte Aspektorientierung • C# • C++ • Hardcover, Softcover / Informatik, EDV/Programmiersprachen • Objektorientierte Programmierung • Objektorientierung • OOP • Python • Ruby • Smalltalk
ISBN-10 3-8362-1401-6 / 3836214016
ISBN-13 978-3-8362-1401-8 / 9783836214018
Zustand Neuware
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Principles and Practice Using C++

von Bjarne Stroustrup

Buch | Softcover (2024)
Addison Wesley (Verlag)
CHF 119,95
Grundlagen, Objektorientierung und fortgeschrittene Konzepte

von Christian Kohls; Alexander Dobrynin

Buch (2023)
Carl Hanser (Verlag)
CHF 55,95