Zugriffssteuerung

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Objektorientierte Programmierung für Komponentenentwickler - Index

Es gibt fünf Stufen der Zugriffssteuerung – die so genannte Sichtbarkeit – für Eigenschaften, Methoden und Felder. Die Sichtbarkeit bestimmt, welcher Quelltext auf welche Abschnitte der Klasse zugreifen kann. Über die Sichtbarkeit definieren Sie die Schnittstelle zu Ihren Komponenten.

Nachfolgende Tabelle enthält die Sichtbarkeitsstufen, geordnet nach dem Grad der Restriktion, die sie bewirken:

Sichtbarkeitsstufen in einem Objekt:



Sichtbarkeit Bedeutung Verwendet für

private

Zugriff nur für den Quelltext, der sich in derselben Unit befindet, in der auch die Klasse definiert ist.

Implementierungsdetails verbergen

protected

Zugriff nur für den Quelltext, der sich in der Unit (bzw. in den Units) befindet, in der auch die Klasse und ihre Nachkommen definiert sind.

Die Schnittstelle des Komponentenentwicklers definieren

public

Zugriff für jeden Quelltext.

Die Laufzeit-Schnittstelle definieren

automated

Zugriff für jeden Quelltext. Auf dieser Stufe werden Automatisierungs-Typinformationen erzeugt.

Nur für OLE-Automatisierung.

published

Zugriff für jeden Code. Außerdem ist der Zugriff vom Objektinspektor aus möglich. Speicherung in einer Formulardatei.

Die Entwurfszeit-Schnittstelle definieren



Deklarieren Sie Elemente als private, wenn sie nur in der Klasse verfügbar sein sollen, in der sie auch definiert werden. Deklarieren Sie Elemente als protected, wenn sie nur in dieser Klasse und in ihren Nachkommen verfügbar sein sollen. Bedenken Sie dabei aber, dass ein Element, das an irgendeiner Position innerhalb einer Unit-Datei verfügbar ist, in der gesamten Datei zur Verfügung steht. Wenn Sie also zwei Klassen in derselben Unit definieren, können diese Klassen auf die als private deklarierten Methoden der jeweils anderen Klasse zugreifen. Wenn Sie eine Klasse in einer anderen Unit als der ihres Vorfahren ableiten, sind alle Klassen in der neuen Unit in der Lage, auf die als protected deklarierten Methoden des Vorfahren zuzugreifen.

Siehe auch