1. Einführung
1.1 Geschichte der objektorientierten Programmiersprachen
- 1967
- Simula (gilt als 1. Sprache, die alle wichtigen Prinzipien der Objektorientierung unterstützt)
- 1972
- Smalltalk (1. Sprache, die den Begriff "Objektorientierung" prägte und die zum erstenmal die Konzepte der OOP definierte)
- ab 1980
- kommerzieller Einsatz von OO-Sprachen ("early adopters")
- 1982
- C mit Klassen (entwickelt von Bjarne Stroustrup bei AT&T)
- 1983
- C++
- 1993
- Java
- 2000
- C#
Weitere OO-Sprachen sind PHP 5, OBJECT-PASCAL, MODULA 3, OBERON und EIFFEL.
Ab 1992 wurden die meisten kommerziell erfolgreichen Anwendungen in C++ geschrieben (z.B. WORD)
Smalltalk gewann ab 1990 an Bedeutung und ab 1993 wurden in Österreich etliche Client/Server-Anwendungen in dieser Sprache geschrieben. Allerdings wird Smalltalk zunehmend von Java verdrängt.
Derzeit ist sicherlich noch C++ die weitestverbreitete OO-Sprache, gefolgt von Java.

1.2 Das Schema einer objektorientierten Programmierumgebung
Eigene SW-Komponenten | Vorhandene SW-Komponenten | Programmierwerkzeuge (Editor, Compiler, ...) |
Klassenbibliothek | ||
---|---|---|
Programmiersprache |
Objektorientiert Programmieren bedeutet, für eigene Applikationen mittels Programmierwerkzeugen in der jeweiligen Programmiersprache neue Software-Komponenten basierend auf bereits bestehenden Software-Komponenten zu entwickeln (vergleiche das Bauen mit LEGO oder MATADOR). Dadurch erweitert man die vorhandene Bibliothek der Komponenten für die nächste Applikation.
Bekannte Entwicklungsumgebungen (bzw. Programmierumgebungen) sind:
- Java Development Kit (JDK von Oracle - nichtgrafische Entwicklungsumgebung für Java ohne Editor)
- NetBeans IDE (von NetBeans - für Java)
- Eclipse (Open-Source-Software des Eclipse-Projekts - für Java, PHP, C++)
- Visual Studio (von Microsoft - für C# und C++)
- JBuilder (von Embarcadero - für Java)
- VisualWorks (von Cincom - für Smalltalk)
Eine ausgezeichnete Experimentier-Entwicklungsumgebung zum Lernen der objektorientierten Programmierung mit Java ist:
- BlueJ (Deakin University, University of Southern Denmark, Kent University)
Programmierwerkzeuge sind: | |
|
... zum Erstellen und Bearbeiten von Quellprogrammen ... zum Übersetzen von Quellprogrammen in eine Maschinensprache ... zum Einbinden von Bibliotheken und Klassen in bereits übersetzte Programme ... zum Erstellen von ausführbaren Programmen (sehr oft inkludiert der Builder bereits Compiler und Linker) ... zum Durchsuchen und Ansehen von Klassenbibliotheken, beinhaltet im Allg. auch ein Hilfe- und Dokumentationssystem ... zum Erstellen von grafischen Benutzeroberflächen (GUI = Graphical User Interface) ... zum Testen und Überwachen von Programmen und Programmdurchführungen |
1.3 Anwendungsarchitektur
Ein typisches interaktives Informationssystem gliedert sich in folgende Bereiche:
Benutzerschnittstelle (UI - User Interface) |
---|
Fachlogik |
Datenhaltung (Datei, Datenbank) |
Jeder dieser Bereiche ist wiederum eine Kombination aus vorhandenen und applikationsspezifischen Komponenten.
In den Klassenbibliotheken von Programmier- bzw. Entwicklungsumgebungen gibt es sehr viele Komponenten für Benutzerschnittstellen und für Schnittstellen zu relationalen Datenbanken. Dagegen müssen für die Fachlogik viele applikationsspezifische Komponenten selbst entwickelt werden.
1.4 Anwendungsgebiete und Vorteile der Objektorientierung
Der Begriff OBJEKT bzw. OBJEKTORIENTIERUNG ist in den letzten Jahren ein richtiges Modewort geworden. Dabei wird mit diesen Begriffen oft Etikettenschwindel betrieben, weil aufgrund des mangelhaften Verständnisses der OO-Konzepte in objektorientierten Programmiersprachen einfach prozedural programmiert wird und die Vorteile der Objektorientierung nicht umgesetzt werden.
Dieses Buch versucht nun, dem Leser die OO-Konzepte verständlich nahezubringen und in den Beispielen die OO-Vorteile konsequent umzusetzen.
- OO gibt es nicht nur in der Programmierung, sondern auch im Bereich
- der Datenbanken (OODBMS = objektorientierte Datenbank-Management-Systeme) und
- der SW-Entwicklung (OO-Analyse, OO-Design, OO-Entwurfs- und Analysemodelle), sowie
- der grafischen Benutzeroberflächen (GUI).
- der SW-Entwicklung (OO-Analyse, OO-Design, OO-Entwurfs- und Analysemodelle), sowie
Vorteile der OO-Technik - Kriterien für Applikationen
- Wartbarkeit und Flexibilität
- Abstraktion und Kapselung (um Komplexität nicht nach außen dringen zu lassen)
- Modularität (um Aufgaben aufteilen zu können und so schneller Applikationen zu erstellen)
- grafische Benutzeroberfläche (GUI bzw. OOUI, um benutzerfreundliche Bedienung zu gewährleisten)
- hohe Qualität: zuverlässig, konsistent, korrekt
- portable und offene Lösungen
- effiziente Werkzeuge und hohe Wiederverwendung (produzieren von weniger Code - bei gleicher Funktionalität)
Die OOP zielt besonders auf Modularität, Wartbarkeit und Wiederverwendbarkeit ab. |
---|
- Weiter
- 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 Parameterübergabe (Kapitel 2.7.1)
- Zurück
- zum Anfang dieses Kapitels
- zum Inhaltsverzeichnis
- zum Vorwort
- zum Inhaltsverzeichnis
- Zur
- Java-Dokumentation der Java-Beispiele