Moin Thomas,
dann mal vollständig:
Es gibt vier Sichtbarkeitsstufen:
private / geringste Sichtbarkeit
Auf das, was in diesem Abschnitt deklariert wird kann nur innerhalb der
Unit zugegriffen werden, in der die Deklaration steht.
In abgeleiteten Klassen besteht kein Zugriff (wenn sie nicht in der gleichen
Unit deklariert werden)
protected / mittlere Sichtbarkeit
Es kann nur innerhalb der Klassendeklaration und davon abgeleiteter Klassen auf diese Einträge zugegriffen werden.
public / Hohe Sichtbarkeit
auf das, was hier deklariert wird kann von überall her zugegriffen werden, von wo aus auf eine Variable des Typs zugegriffen werden kann.
published / Hohe Sichtbarkeit
Wohl nur sinnvoll bei Komponenten einsetzbar.
Im Prinzip wie public, nur dass diese Einträge im Objektinspektor erscheinen und eingestellt werden können.
Damit sich private und protected auswirken können, sollten die Klassendeklarationen in einer separaten
Unit stehen, denn innerhalb der
Unit in der die Deklaration steht, kann auf diese Felder/Methoden dennoch zugegriffen werden.
[EDIT]published ist Borland spezifisch, die anderen drei wirst Du so auch in VC++ finden[/EDIT]