:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Zugriffsbeschränkung (Datenkapselung) |
Eigenschaften und Methoden von Klassen lassen sich mit den Schlüsselwörtern private und protected vor unerlaubtem Zugriff schützen. Damit ist es möglich, die Sichtbarkeit von Eigenschaften und Methoden einzuschränken. Zugriff auf als private deklarierte Eigenschaften und Methoden besteht nur innerhalb der Klasse selbst, Eigenschaften oder Methoden, die als protected deklariert wurden, stehen dagegen zusätzlich auch in abgeleiteten Klassen zur Verfügung. Das Schlüsselwort public schränkt den Zugriff in keiner Weise ein und entspricht dem Klassenmodell in PHP 4. Mit public, private oder protected kann in PHP 5 der Zugriff auf Eigenschaften, Methoden und Klassen genau festgelegt und eine gute Kapselung erreicht werden.
Zusammengefasst kann man sagen: Es handelt sich bei public, private oder protected um Schlüsselwörter, die sich zum Verstecken und Kapseln von Daten innerhalb von Klassen eignen und mit deren Hilfe man in der Lage ist, die Daten nur noch den in der Klasse definierten Methoden zugänglich zu machen und somit den unbefugten Zugriff von außen strikt zu unterbinden.
Einsatzmöglichkeiten und Funktionsweise
Mit der Datenkapselung wird die Trennung von Nutzungs- und Implementierungsschicht, von Realisierung und Nutzung verfolgt: Ein Entwickler, der eine Klasse eines anderen Entwicklers nutzen möchte, braucht die internen Abläufe der Klasse nicht zu kennen, er verwendet nur die vereinbarte Schnittstelle.
Zu diesem Zweck werden den Eigenschaften und Methoden einer Klasse bei ihrer Deklaration eine von drei möglichen Sichtbarkeiten zugewiesen:
- public – Standardwert. Objekte sämtlicher Klassen können die Eigenschaften oder die Methoden sehen und verwenden. Aus Gründen der Abwärtskompatibilität ist die Angabe optional und kann entfallen.
- private – Nur Objekte derselben Klasse können die Eigenschaften oder die Methoden sehen und verwenden. Sie sollten beachten, dass abgeleitete Klassen oder Aufrufe von Objekten nicht darauf zugreifen.
- protected – Verhält sich wie private, jedoch dürfen Objekte von Subklassen auf protected-deklarierte Eigenschaften und Methoden ihrer Superklasse zugreifen.
Hinweis: public stellt im Grunde nichts anderes dar als ein Alias von var, welches in PHP 4 eingesetzt wird, um Klassenattribute festzulegen. Die Deklaration von Eigenschaften mit var wird weiterhin unterstützt, sollte aber in PHP 5 nicht verwendet werden, es sei denn, die Skripts sollen PHP 4-kompatibel sein.
|
|
|
|
|
|