private-, protected-, public- und published-Deklarationen
Die Typdeklaration der Klasse kann drei oder vier Abschnitte enthalten, mit denen der Zugriff auf die Felder und Methoden der Klasse festgelegt wird:
Type
TClassName = Class(TObject)
public
{public-Felder}
{public-Methoden}
protected
{protected-Felder}
{protected-Methoden}
private
{private-Felder}
{private-Methoden}
end;
Im public-Abschnitt werden Felder und Methoden deklariert, die keinen Zugriffsbeschränkungen unterliegen. Klasseninstanzen und abgeleitete Klassen können auf diese Felder und Methoden zugreifen. Ein public-Element steht überall dort zur Verfügung, wo die Klasse sichtbar ist, zu der es gehört – d.h. in der
Unit, in der die Klasse deklariert ist, sowie in allen anderen Units, die diese
Unit verwenden.
Im protected-Abschnitt werden Felder und Methoden deklariert, die einigen Zugriffsbeschränkungen unterliegen. Ein protected-Element steht nur in der
Unit zur Verfügung, in der die Klasse deklariert ist, sowie in allen Nachkommen der Klasse, unabhängig von der
Unit der Nachkommenklassen.
Im private-Abschnitt werden Felder und Methoden deklariert, die strengen Zugriffsbeschränkungen unterliegen. Ein private-Element steht nur in der
Unit zur Verfügung, in der es deklariert wurde. private-Elemente werden häufig innerhalb einer Klasse verwendet, um andere (public oder published) Methoden und Eigenschaften zu implementieren.
Bei Klassen, die von TPersistent abgeleitet sind, werden in einem published-Abschnitt Eigenschaften und Ereignisse deklariert, die zur Entwurfszeit verfügbar sind. Ein published-Element hat dieselbe Sichtbarkeit wie ein public-Element, aber der Compiler erzeugt Laufzeittypinformationen für die published-Elemente. published-Eigenschaften erscheinen zur Entwurfszeit im Objektinspektor.
Wenn Sie ein Feld, eine Eigenschaft oder eine Methode deklarieren, werden die neuen Elemente einem dieser vier Abschnitte hinzugefügt, womit ihre Sichtbarkeit festgelegt wird: private, protected, public oder published.