VORWORT


Dieses Fachbuch ist ein Lehrbuch über die Logik der objektorientierten Programmierung. Es ist kein Lehrbuch für eine spezielle Programmiersprache und deren Feinheiten. Ich bin der Meinung, dass das Beherrschen der objektorientierten Programmierlogik (d.h. des objektorientierten Denkens) wesentlich ist, um erfolgreich richtige (objektorientierte) Programme erstellen zu können. Die tatsächlich verwendete Programmiersprache ist dabei unerheblich.
Zur Untermauerung dieser Aussage wird in diesem Fachbuch versucht, die OO-Konzepte auch anhand der klassischen prozeduralen Programmiersprache PL/I, die ja keine objektorientierte Sprache ist, dem Leser nahezubringen. Insbesondere soll dieser Versuch zeigen, dass objektorientiertes Programmieren unabhängig von der verwendeten Sprache ist! (Natürlich ist mir bewusst, dass dieses Vorgehen nur aus didaktischen Gründen sinnvoll ist, denn die Umsetzung eines Objektmodells in eine Nicht-OO-Sprache ist aufwändig und manchmal nur eingeschränkt möglich.)
Klarerweise sollte ein sehr guter Programmierer die von ihm verwendete Sprache auch in Details sehr gut kennen. Umgekehrt macht die ausgezeichnete und tiefgehende Kenntnis einer Sprache jemanden noch lange nicht zu einem guten Programmierer, wenn er nicht genau weiß, wie er ein vorgegebenes logisches Problem (d.h. eine Programmvorgabe) lösen kann.
Ist das Struktogramm die Basis der klassischen (prozeduralen bzw. ablauforientierten) Programmierlogik, so sind die UML-Diagramme eines objektorientierten Entwurfs- und Analysemodells die Basis der objektorientierten Programmierlogik. Ich glaube, es ist nicht sehr sinnvoll, ohne Erstellen eines solchen Modells ein Programm zu schreiben.

Viele derzeit am Markt erhältlichen Bücher behandeln eine einzige OO-Sprache und beginnen zunächst einmal mit der Beschreibung der Sprache und mit einfachen Programmen. Erst in der Mitte des Buches werden die grundlegenden Begriffe "Klasse" und "Objekt" eingeführt.

Dieses Buch geht einen völlig anderen Weg:

Zuerst werden die OO-Grundlagen erklärt und anhand von vielen Beispielen (d.h. Klassendiagrammen) wird versucht, den Leser in die Denkweise der OO-Logik einzuführen. Erst danach werden die drei OO-Sprachen Java, C# und Smalltalk beschrieben. Alle Beispiele (d.h. alle Klassendiagramme) werden in diese Sprachen - sowie zum Teil in die Nicht-OO-Sprache PL/I - übersetzt. Fallweise wird auch auf die Programmiersprache C++ Bezug genommen.

Der Quellcode aller Beispielklassen (in den Programmiersprachen Java, C#, Smalltalk, PL/I und auch C++) befindet sich im Web zum Herunterladen unter der Adresse

http://www.beringer.at/downloads/beispieleOOPbuch.zip

Die heute unumgängliche Programmierung von grafischen Benutzeroberflächen (GUI) wird anhand der Programmiersprache Java gezeigt. Die GUI-Programmierung ist ein klassisches Anwendungsgebiet der objektorientierten Programmierung.
Ebenso wird die Verarbeitung von Dateien anhand von Java und C#, sowie die Verarbeitung von Datenbanken anhand von Java ("JDBC") gezeigt.

Ich bin der Meinung, beherrscht jemand die objektorientierte Programmierlogik und eine einzige objektorientierte Programmiersprache (egal welche), dann "kann" er alle anderen OO-Sprachen auch! (Die Anführungszeichen sollen nur andeuten, dass diese Aussage natürlich plakativ ist.)

Dieses Fachbuch entstand in Zusammenarbeit mit Dipl.-Ing. Hannes Färberböck von der Firma Anecon. Ich durfte ein Jahr lang seinen Unterricht besuchen und er stellte mir auch große Teile seines Unterrichtsmaterials zur Verfügung. Ich danke ihm an dieser Stelle sehr herzlich und ich hoffe, dass ihm dieses Werk recht gut gefällt.
Weiters hoffe ich auch, dass dieses Buch eine brauchbare Lernhilfe und ein geeigneter Unterrichtsbehelf geworden ist. Für Anregungen und Kritik bin ich sehr dankbar.

 

Der Autor

Alfred Beringer



Alle Rechte vorbehalten


Das Fachbuch OBJEKTORIENTIERTE PROGRAMMIERUNG des Eigenverlags BERINGER kann direkt beim Autor bestellt werden.

Email-Adresse:
aberinger Klammeraffe gmx Punkt at


Weiter
zu Kapitel 1
zu den Klassenbeispielen von Kapitel 2
zur Parameterübergabe (Kapitel 2.7.1)
zu Kapitel 3
zu den Klassenbeispielen von Kapitel 4
zu den Java-Klassenbeispielen von Kapitel 5.19.1 (Exceptions)
zu den Java-Klassenbeispielen von Kapitel 6 (Ein-/Ausgabe von Daten)
zu den Java-Klassenbeispielen von Kapitel 7 (GUI)
zu Kapitel 8 (JDBC)
zu den C#-Klassenbeispielen von Kapitel 9.19.1 (Exceptions)
zu den C#-Klassenbeispielen von Kapitel 10 (Ein-/Ausgabe von Daten)
zu Kapitel 12 (PL/I)
zu Kapitel 13 (Reservierte Worte)
Zurück
zum Anfang dieses Vorworts
zum Inhaltsverzeichnis
Zur
Java-Dokumentation der Java-Beispiele