- Zugriffsmodifikator
-
Zugriffsmodifikatoren (engl. access modifier oder kurz modifier) sind Schlüsselwörter in Programmiersprachen, die den Grad definieren, in dem Teile eines Programms auf andere Teile eines Programms (wie beispielsweise Variablen, Funktionen oder Klassen) zugreifen können. Sie regeln die Sichtbarkeit dieser Teile innerhalb eines Programms.
Große Verbreitung finden sie nur in objektorientierten Sprachen, wenngleich es einige von ihnen auch in funktionalen Programmiersprachen gibt.
Inhaltsverzeichnis
Liste gebräuchlicher Modifikatoren
- public – alle Methoden aus beliebigen Assemblies dürfen auf das Member zugreifen.
- private – nur Methoden innerhalb der Klasse dürfen auf das Member zugreifen.
- family/protected – nur Methoden innerhalb der Klasse und einer davon abgeleiteten Klasse dürfen auf das Member zugreifen.
- assembly/internal – nur Methoden desselben Assembly Typs dürfen auf das Member zugreifen.
Am Rande erwähnt:
- static – ist in den meisten Fällen kein Zugriffsmodifikator sondern ein Speichermodifikator. In C++ ist zu beachten, dass das Schlüsselwort für viele verschiedene Aspekte verwendet wird, unter anderem auch, um den Geltungsbereich einer Deklaration auf eine Quelldatei einzuschränken (file scope). In diesem Fall fungiert es als Zugriffsmodifikator.
Erläuterungen
Eine Klasse oder ein Member eines Typs kann nur einen Zugriffsmodifikator besitzen (wobei static nicht zählt, da es kein Zugriffsmodifikator ist).
Private bzw. protected Member können nicht direkt gelesen, geändert oder aufgerufen werden. Sie sind dabei oft völlig unsichtbar, d. h. man hat oft kein Indiz dafür, dass sie überhaupt bestehen. Die Kennzeichnung als private stellt aber keinen ultimativen Schutz dar, denn in Sprachen, die Zeiger erlauben, kann man mit relativ geringem Aufwand diese Beschränkungen umgehen. Davon ist aber generell abzuraten.
Sprachspezifische Besonderheiten
In Java kann z. B. eine Codedatei beliebig viele Klassen enthalten, davon darf aber nur eine public sein. Für den Nutzer der Datei ist nur diese eine Klasse sichtbar und somit nutzbar.
In C++ erlaubt das friend-Schlüsselwort anderen Klassen, auf private Member zuzugreifen.
Siehe auch
- Zugriffsfunktion - erlaubt das Lesen und Schreiben von sonst nicht erreichbaren Membern auch von außerhalb.
Kategorie:- Programmiersprachelement
Wikimedia Foundation.