Die Klassenfelder deklarieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Stift und Pinsel als published deklarieren


Für jede Klasse, die einer Komponente untergeordnet ist, muss ein Klassenfeld deklariert werden. Dieses Feld garantiert, dass der Komponente immer ein Zeiger zur Verfügung steht, über den sie die untergeordnete Klasse freigeben kann, bevor sie sich selbst freigibt. Im Allgemeinen initialisiert eine Komponente ihre untergeordneten Objekte im Konstruktor und gibt sie im Destruktor frei.

Felder für untergeordnete Objekte werden fast immer als private deklariert. Wenn Anwendungen (oder andere Komponenten) Zugriff auf solche Objekte benötigen, können Sie zu diesem Zweck Eigenschaften einführen, die Sie als published oder public deklarieren.

Fügen Sie der Beispielkomponente nun Felder für einen Stift und einen Pinsel hinzu:

type
  TSampleShape = class(TGraphicControl)
  private            { Felder sind fast immer als private deklariert }
    FPen: TPen;      { Ein Feld für das Stift-Objekt }
    FBrush: TBrush;  { Ein Feld für das Pinsel-Objekt }
    .
    .
    .
  end;
class PACKAGE TSampleShape : public TGraphicControl
{
private:               // Datenelemente sind immer private
    TPen *FPen;        // Datenelement für den Stift
    TBrush *FBrush;    // Datenelement für den Pinsel
    .
    .
    .
};

Siehe auch