Eigenschaften, Methoden und Ereignisse

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Grundlagen der Komponentenbibliothek


Die VCL-Klassenhierarchie ist eng mit der IDE verknüpft, von wo aus Sie sehr schnell Anwendungen entwickeln können. Die Klassen in der VCL basieren auf Eigenschaften, Methoden und Ereignissen. Jede Klasse beinhaltet Daten-Member (Eigenschaften), Funktionen zur Bearbeitung der Daten (Methoden) sowie eine Möglichkeit, mit Benutzern der Klasse zu kommunizieren (Ereignisse). Die Komponentenbibliothek ist in Delphi geschrieben und basiert auf der Windows-API.

Eigenschaften

Eigenschaften sind die charakteristischen Merkmale eines Objekts, die entweder das sichtbares Verhalten oder die Operationen des Objekts beeinflussen. Beispielsweise bestimmt die Eigenschaft Visible, ob ein Objekt auf der Anwendungsoberfläche sichtbar ist. Gut programmierte Eigenschaften erleichtern anderen Benutzern die Verwendung Ihrer Komponenten. Sie selbst können sich damit die Pflege der Komponenten vereinfachen.

Hier einige der nützlichen Merkmale von Eigenschaften:

  • Anders als Methoden, die nur zur Laufzeit zur Verfügung stehen, können Sie Eigenschaften zur Entwurfszeit sehen und bearbeiten und erhalten ein unmittelbares Feedback, wenn die Komponenten in der IDE geändert werden.
  • Sie können im Objektinspektor auf einige Eigenschaften zugreifen und die Werte von Objekten visuell bearbeiten. Das Setzen von Eigenschaften zur Entwurfszeit ist einfacher, als Code zu schreiben, und außerdem ist Ihr Code damit einfacher zu verwalten.
  • Weil die Daten gekapselt sind, sind sie geschützt und nur für das entsprechende Objekt sichtbar.
  • Da die Aufrufe zum Ermitteln und Setzen der Werte durch Methoden ausgeführt werden können, kann eine spezielle Verarbeitung erfolgen, die für den Benutzer des Objekts nicht sichtbar ist. Beispielsweise könnten sich Daten in einer Tabelle befinden, beim Programmierer aber den Eindruck normaler Daten-Member erwecken.
  • Sie können Routinen implementieren, die Ereignisse auslösen oder andere Daten ändern, während auf die Eigenschaft zugegriffen wird. Beispielsweise könnte die Änderung des Wertes einer Eigenschaft die gleichzeitige Änderung eines anderen Wertes bedingen. Sie können die für die Eigenschaft entwickelten Methoden ändern.
  • Eigenschaften können virtuell sein.
  • Eine Eigenschaft ist nicht auf ein einziges Objekt beschränkt. Die Änderung einer bestimmten Objekteigenschaft kann sich auf mehrere andere Objekte auswirken. Wenn Sie beispielsweise die Eigenschaft Checked für ein Optionsfeld setzen, werden dadurch alle anderen Optionsfelder einer Optionsfeldgruppe beeinflusst.

Methoden

Methoden definieren das Verhalten eines Objekts. Eine Methode ist eine Prozedur oder Funktion, die zu einer bestimmten Klasse gehört. Eine Methode kann auf beliebige Member mit jeder Sichtbarkeit in derselben Klasse zugreifen. Siehe auch Zugriffssteuerung und Element-Zugriffskontrolle.

Die in einer Klasse deklarierten Methoden können in drei Kategorien (siehe die folgende Tabelle) eingeteilt werden.

Kategorie Delphi-Syntax C++-Syntax Bedeutung von Self (Delphi) oder this (C++) Siehe auch
Regulär N/V N/V Klasseninstanz Reguläre Klassenmethoden (Abschnitt)
Statisch static static N/V Klassenstatische Methoden (Abschnitt)
Klasse class __classmethod Metaklasseninstanz Klassenmethoden

Ereignisse

Ein Ereignis ist eine Aktion oder ein Vorkommnis, das von einem Programm erkannt wird. Die meisten modernen Anwendungen werden als ereignisgesteuert bezeichnet, weil sie darauf ausgelegt sind, auf Ereignisse zu reagieren. In einem Programm hat der Programmierer keine Möglichkeit, die genaue Abfolge der Aktionen vorherzusagen, die ein Benutzer als Nächstes ausführen wird. Er wählt zum Beispiel einen Menübefehl aus, klickt auf eine Schaltfläche oder markiert Text. Deshalb ist es sinnvoll, Code zu schreiben, der die Ereignisse verarbeitet, die für Sie von Belang sind, statt Code, der immer in derselben eingeschränkten Reihenfolge ausgeführt wird.

Unabhängig davon, wie ein Ereignis ausgelöst wird, prüfen VCL-Objekte, ob Sie Code zur Verarbeitung dieses Ereignisses geschrieben haben. Ist dies der Fall, wird dieser Code ausgeführt; andernfalls erfolgt die Standardereignisverarbeitung.

Hinweis: Fügen Sie Initialisierungscode nicht dem Ereignis OnCreate oder OnDestroy hinzu, sondern dem Konstruktor und Destruktor des Objekts.

Siehe auch