by Dr. M. Halfpap
Zurück zur HauptseiteKlassische Prog. : Programme ergreifen die Initiative und rufen Teile der Laufzeitprogramme auf Objektorientiert : REAKTION auf sog. "Nachrichten" vom Benutzer, System oder anderen Programmen: CALL-BACK Strukturen Die Objekte tauschen miteinander "Nachrichten" aus, auf die sie reagieren. Ihre Reaktion wird durch ihre METHODEN beschrieben. Weiter können sie auch einen ZUSTAND besitzen ( z.B. die x,y - Position oder sichtbar / unsichtbar ). Die sog. INSTANZVARIABLEN beschreiben den internen Zustand, der interne private Zustand wird auch mit ENCAPSULATION, dem Prinzip der Kapselung beschrieben. Die Idee ist nun, daß dieser Zustand nur durch das Objekt selbst mit Hilfe sei- ner Methoden verändert werden kann. Wie allg. bei modularer Programmierung ist die strikte Trennung zwischen IMPLEMENTATION und DEFINITION vorgesehen. Weitere wichtige Begriffe : Kapselung Vereinigung der Daten und der sie verändernden Methoden in einer Struktur Klasse alle Objekte, die gleiche Methoden besitzen, sind zu einer Klasse zusammengefaßt Polymorphie Objekte unterschiedlicher Klassen können auf Nachrich- ten unterschiedlich reagieren, z.B. kann die Methode SHOW je nach Button, Fenster oder Hauptfenster unter- schiedliche Wirkungen zeigen Klassenhierarchie und Vererbungsprinzip durch den Begriff der Oberklasse mit Instanzvariablen und Methoden kommt es zu dem Begriff der Vererbung. Man kann ein Objekt einer Oberklasse ergänzen und erweitern zu einem anderen Objekt, das aber dennoch die Methoden und Instanzvariablen behält. Die Prozeduren und Funktionen, also die Methoden eines Moduls bzw. Objektes werden also mitvererbt, können aber auch überschrieben werden wie beim Prinzip der globalen - lokalen Variablen. Eine Klasse kann angesehen werden als unmittelbare Verallgemeinerung eines (norm.) Datentyps, klassisch ist die Unterscheidung zwischen TYP und VARIABLE, jetzt zwischen KLASSE und OBJEKT. Beim Programmieren eines Objektes sollte man so vorgehen : - Suche nach einer Klasse, die eigenen Forderungen am nächsten kommt - Bilden einer Unterklasse - Formulieren der Differenzen zur Oberklasse ( REUSABILITY statt Reprogrammierung, d.h. produktiver Zuwachs )