Freigeben über


Klassen und Objekte: Die Bausteine einer Anwendung

Klassen und Objekte stehen in einer engen Beziehung zueinander, sollten jedoch nicht verwechselt werden. Eine Klasse enthält Informationen darüber, wie ein Objekt aussehen und sich verhalten soll. Eine Klasse kann mit einer Blaupause oder der Schemazeichnung eines Objekts verglichen werden. Das elektrische Schema und das Entwurfslayout eines Telefons würden beispielsweise einer Klasse entsprechen. Das Telefon selbst wäre ein Objekt oder eine Instanz dieser Klasse.

Objekte haben Eigenschaften

Ein Objekt hat bestimmte Eigenschaften oder Attribute. Ein Telefon hat z. B. eine bestimmte Farbe und Größe. Wenn Sie Ihr Büro mit einem Telefon ausstatten, dann nimmt es einen bestimmten Platz auf Ihrem Schreibtisch ein. Der Hörer kann auf der Telefongabel liegen oder nicht.

Auch die in Visual FoxPro erstellten Objekte haben Eigenschaften, die durch die Klasse bestimmt werden, zu der das Objekt gehört. Diese Eigenschaften können zur Entwurfszeit oder zur Laufzeit festgelegt werden.

In der nachstehenden Tabelle finden Sie einige Eigenschaften, die ein Kontrollkästchen haben kann.

Eigenschaft Beschreibung
Caption Der beschreibende Text neben dem Kontrollkästchen.
Enabled Gibt an, ob ein Benutzer das Kontrollkästchen aktivieren kann.
ForeColor Die Textfarbe der Beschriftung.
Links Die Position der linken Seite des Kontrollkästchens.
MousePointer Das Aussehen des Mauszeigers, wenn er sich auf dem Kontrollkästchen befindet.
Oben Die Position der Oberseite des Kontrollkästchens.
Visible Gibt an, ob das Kontrollkästchen sichtbar ist.

Objekten sind Ereignisse und Methoden zugeordnet

Jedes Objekt kann bestimmte Aktionen, so genannte Ereignisse, erkennen und auf sie reagieren. Ein Ereignis ist eine spezielle vorbestimmte Aktivität, die entweder vom Benutzer oder vom System ausgelöst wird. Ereignisse werden in den meisten Fällen durch Aktionen der Benutzer ausgelöst. Beim Telefon wird z. B. ein Ereignis ausgelöst, wenn der Benutzer den Hörer von der Gabel nimmt. Ereignisse werden auch ausgelöst, wenn der Benutzer auf die Telefontasten drückt, um jemanden anzurufen.

Ereignis auslösende Aktionen der Benutzer umfassen in Visual FoxPro Mausklicks, Mausbewegungen und Tastenbetätigungen. Das Initialisieren eines Objekts und das Ausführen einer Codezeile, die einen Fehler verursacht, sind Ereignisse, die durch das System ausgelöst werden.

Methoden sind Prozeduren, die mit einem Objekt verknüpft sind. Methoden unterscheiden sich von normalen Visual FoxPro-Prozeduren: Methoden sind unauflösbar mit einem Objekt verbunden und werden anders aufgerufen als gewöhnliche Visual FoxPro-Prozeduren.

Ereignisse können mit ihnen verbundene Methoden haben. Wenn Sie z. B. eine Methode für das Click-Ereignis schreiben, dann wird der Code dieser Methode ausgeführt, sobald das Click-Ereignis auftritt. Methoden können auch unabhängig von Ereignissen existieren. Diese Methoden müssen im Code explizit aufgerufen werden.

Der Ereignissatz ist fest, wenn auch groß. Sie können keine neuen Ereignisse erstellen. Der Methodensatz jedoch ist unendlich erweiterbar.

Die folgende Tabelle enthält einige Ereignisse, die mit einem Kontrollkästchen verknüpft sind:

Methode Beschreibung
Click Der Benutzer klickt auf das Kontrollkästchen.
GotFocus Der Anwender wählt das Kontrollkästchen-Steuerelement, indem er darauf klickt oder es durch Drücken von TAB ansteuert.
LostFocus Der Benutzer wählt ein anderes Steuerelement aus.

Die folgende Tabelle enthält einige Methoden, die zu einem Kontrollkästchen gehören:

Method Beschreibung
Refresh Der Wert des Kontrollkästchens wird aktualisiert, um alle Änderungen widerzuspiegeln, die in der zugrunde liegenden Datenquelle aufgetreten sind.
SetFocus Der Fokus wird auf das Kontrollkästchen festgelegt, als habe der Benutzer TAB so oft gedrückt, bis das Kontrollkästchen ausgewählt ist.

Siehe auch

Objektorientierte Programmierung | Klassen in Visual FoxPro | Vorbereitung der Klassenerzeugung | Erstellen von Klassen | Ändern einer Klassendefinition | Erstellen einer Unterklasse zu einer Klassendefinition | Funktionsweise des Klassen-Designers | Schützen und Ausblenden von Klassenelementen | Angeben der Entwurfszeit-Darstellung | Erstellen, Kopieren und Entfernen von Klassenbibliotheksdateien | Hinzufügen von Klassen zu Formularen | Außer Kraft setzen der Standardeinstellungen von Eigenschaften | Verweisen auf Objekte in der Containerhierarchie | Setzen von Eigenschaften | Aufrufen von Methoden | Ereignisrückmeldung