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