Grundsätzliche Begriffe der objektorientierten Denk- und
Arbeitsweise
Die objektorientierte Vorgehensweise ist die logische Weiterentwicklung der
modul-orientierten Vorgehensweise.
Das Objektmodell ist eine Anwendung der Konzepte Abstraktion, Kapselung, Modularität und
Hierarchie.
Objektorientierter Entwurf und objektorientierte Programmiersprachen basieren auf
folgenden grundlegenden Konzepten:
® Objekte
® Klassen
® Vererbung
® Dynamisches Binden
® Polymorphismus
Objekt
(Vertreter einer Klasse) Ein Objekt beschreibt einen Ausschnitt aus der realen Welt oder eines Modells davon.
Ihm sind Merkmale, Merkmalswerte und Operationen zugeordnet. Die Merkmalswerte legen einen
Zustand des Objektes fest. Durch die Operationen kann der Zustand ermittelt bzw.
verändert werden.
z.B. das konkrete Objekt Gerade Merkmal: Richtungsvektor Operationen: überprüft seine Lage zu einer anderen Geraden oder
stellt sich grafisch dar
Klasse
Eine Klasse beschreibt Eigenschaften durch Merkmale und Operationen. Aus einer Klasse
können konkrete Objekte abgeleitet werden, sogenannte Exemplare (Instanzen) der Klasse.
Sie besitzen die in der Klasse beschriebenen Eigenschaften, das heißt, ihre Merkmale und
Operationen.
z.B. die Klasse Gerade
Nachricht
Der Zugriff auf ein Objekt ist nur über eine Nachricht möglich. Eine Nachricht löst
eine Operation des Objektes aus. Operationen können den Zustand eines Objektes ermitteln,
den Zustand verändern bzw. eine Nachricht an das Objekt oder an ein anderes Objekt
senden.
Vererbung
Die Vererbung ist eine Beziehung zwischen zwei Klassen, von denen die eine Oberklasse und
die andere Unterklasse genannt wird. Die Unterklasse wird aus der Oberklasse abgeleitet,
d.h. sie erbt alle Eigenschaften (Merkmale und Operationen) der Oberklasse.
Die Unterklasse kann um neue Merkmale bzw. neue Operationen erweitert werden. Die aus der
Oberklasse geerbten Operationen können bei Bedarf hinsichtlich ihrer Wirkung modifiziert
werden.
z.B. erbt die Klasse Vektor von der Klasse Punkt
und die Klasse Gerade erbt von der Klasse Vektor, d.h. die Klasse Gerade übernimmt alle
Eigenschaften und Methoden der Klasse Vektor und setzt neue, für Geraden spezielle,
hinzu.