Objektorientierte Programmierung        zurück ]      [ Index ]                [ Mehr zum Thema ]     

Die objektorientierte Programmierung ist eine Methode des Programmierens, die sich in Programmen mit eine bestimmten (hier beschriebenen) Struktur äussert.


Objekt-Orientierung

Bei der konventionellen Programmierung erfolgt die Definition der Datenstrukturen und der mit den Daten ausgeführten Prozeduren (Aktionen) unabhängig voneinander. Das Wissen um die Bedeutung der Daten und die zwischen ihnen bestehenden Beziehungen ist nicht einfach bei den Daten sondern mehrfach in allen Programmen, die auf diese Daten zugreifen, gespeichert.

Bei der objekt-orientierten Programmierung (OOP) werden Objekte ganzheitlich beschrieben, d.h. die Festlegung der Datenstrukturen und der mit den Daten ausgeführten Aktionen erfolgt in einem.

Die wichtigsten Vorteile der objekt-orientierten Programmierung sind:

Je kleiner und einfacher die Objekte und Klassen und die Schnittstellen zwischen ihnen gewählt werden (Kapselung, Vererbung), desto besser werden diese Ziele erreicht. Mehr darüber folgt später im Kapitel über Objekt-orientierte Analyse und Design.

prozeduraler Programmaufbau (Beispiel COBOL)

       DATA DIVISION.
       01  DDD1.
            ... Datenblock 1 ...
       01  DDD2.
            ... Datenblock 2 ...
       ...
       PROCEDURE DIVISON.
       AAA1 SECTION.
           ... Aktionen Teil 1 ...
       AAA2 SECTION.
           ... Aktionen Teil 2 ...
       ...

prozeduraler Programmaufbau (Beispiel C)

struct ddd1 {
   ... Datenblock 1 ...
}
struct ddd2 {
   ... Datenblock 2 ...
}
...
aaa1() {
   ... Aktionen Teil 1 ...
}
aaa2() {
   ... Aktionen Teil 2 ...
}
...

objekt-orientierter Programmaufbau (Beispiel Java)

public class Ccc1 {
   ... Daten von Objekt-Typ 1 ...
   ... Aktionen von Objekt-Typ 1 ...
}

public class Ccc2 {
   ... Daten von Objekt-Typ 2 ...
   ... Aktionen von Objekt-Typ 2 ...
}

...

Objekt-orientierte Analyse und Design

Die objekt-orientierte Programmierung besteht aus folgenden Schritten:

Die Analyse erfolgt zunächst unabhängig von der verwendeten Programmiersprache und soll die logisch richtige Sicht des Problems und damit die Grundlage für das Design liefern.

Das Design, also das Konzept für die Programmierung, berücksichtigt dann die Eigenschaften der Programmiersprache (z.B. Einfach- oder Mehrfachvererbung) und die verfügbaren Klassenbibliotheken (z.B. Schnittstellen zu Graphischen User-Interfaces oder zu Datenbanken).

Um komplexe Systeme für die objekt-orientierte Programmierung in den Griff zu bekommen, müssen sie also analysiert werden, aus welchen Objekten sie bestehen und welche Beziehungen zwischen den Objekten bestehen, welche Eigenschaften die Objekte haben und welche Aktionen mit ihnen ablaufen.

Die wichtigsten Design-Regeln für das Zerlegen von komplexen Systemen in einzelne Objekte sind:

Die Analyse und das Design ergeben sich am einfachsten, indem man versucht, das System bzw. die Aufgabenstellung mit einfachen deutschen Sätzen zu beschreiben:

Beispiel: Analyse Schulungen

Aufgabenstellung: Analyse und Design des Systems "Schulungsunternehmen, Schulungen, Teilnehmer und Trainer".

Lösungs-Skizze:

  1. Objekte und Aktionen:
  2. Eigenschaften der Objekte: