Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

PHP 5.4 & MySQL 5.6 Grundkurs

Zugriff einschränken

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Wer mit objektorientierten Programmen zu tun hat, stößt schnell auf die sogenannten Zugriffsmodifizierer. Damit können Sie steuern, wer wann auf welche Methoden und Eigenschaften zugreifen darf.

Transkript

Um effektiv mit Klassen zu arbeiten, müssen Sie steuern, wer, wann, auf welche Eigenschaften und Methoden zugreifen kann. Das geht über drei Schlüsslwörter, nämlich public, protected and private. Hier sehen Sie die Klasse Kunde. Darüber wird verwaltet, wieviel Speicher jemand insgesamt zur Verfügung hat und wieviel er schon verbraucht hat. Das ist hierüber definiert. Jetzt kann man aber folgendes machen. Sie sehen, normalerweise ist hier der Speicher insgesamt auf 50 gesetzt. Ich kann aber jetzt einen neuen Kunden erstellen und einfach den gesamten Speicher auf 500 setzen. Schauen wir uns mal an, dass das hier wirklich funktioniert. Sie sehen, es wurde einfach viel zu hoch der Speicher gesetzt und das funktioniert. Das stellt natürlich das ganze System in Frage und wiederspricht dem Grundgedanken, wie die Klassen entworfen wurden. Um den entgegen zu wirken, müssen Sie den direkten Zugriff auf bestimmte Methoden und Eigenschaften einschränken. Und genau dafür gibt es eben jetzt bestimmte Schlüsselwörter. Bei uns stand jetzt bei der ursprünglichen Klasse, hier stand immer das Schlüsselwort public. Wenn Sie etwas als public, das heißt als öffentlich deklarieren, gibt es keinerlei Einschränkungen. Jetzt gibt es Möglichkeiten, Einschränkungen zu definieren, das heißt an dieser Stelle, wo hier public steht, können Sie auch protected oder private schreiben. Und das besondere ist jetzt, wenn Sie eine Methode oder eine Eigenschaft als private oder protected deklarieren, dann können Sie nicht von einem Objekt her darauf zugreifen. Schauen wir uns einmal ein Beispiel an. Wir haben hier eine Beispiel-Klasse. Die hat eine Eigenschaft hier, die als private deklariert wird. Und dann versuchen wir einmal hier darauf zuzugreifen, diese Eigenschaft zu setzen. Und dann kriegt man diese Fehlermeldung, die auch sehr aussagekräftig ist. Also, eine Eigenschaft, die als private deklariert wird, auf die kann man nicht zugreifen. Auch wenn Sie hier protected hinschreiben, können Sie auch nicht direkt zugreifen. Das heißt, sowohl private, als auch protected bedeuten, dass wenn Sie ein Objekt erstellen, dass Sie dann auf die entsprechende Eigenschaft nicht zugreifen können. Es gibt jetzt aber einen Unterschied zwischen protected und private, und den sehen Sie nur, wenn Sie eine abgeleitete Klasse haben. Hier habe ich einmal ein Beispiel. Hier ist meine Beispiel-Klasse und davon wird eine weitere Klasse abgeleitet. Und hier in dieser ursprünglichen Klasse ist diese Eigenschaft hier mit private gekennzeichnet, und ich versuche dann hier darauf zuzugreifen. Das funktioniert auch nicht. Also dieses private ist wirklich die größtmögliche Einschränkung. Und Sie können dann nicht einmal in einer abgeleiteten Klasse darauf zugreifen. Schauen wir auch das einmal an. Da kriegen wir jetzt keine richtige Fehlermeldung, sondern nur so einen Hinweis, weil einfach diese Eigenschaft nicht definiert ist, die wird nicht gesehen. Was Sie hingegen machen können, ist, dass Sie hier, die Eigenschaft als protected deklarieren, und dann können Sie in einer Klasse, die abgeleitet ist, darauf zugreifen. Schauen wir auch mal dieses Beispiel an. Das klappt in der abgeleiteten Klasse. Kehren wir noch einmal zurück zum Beispiel mit der Klasse Kunde, die wir hier definiert haben. Da war er beim ursprünglichem Beispiel, alles hier als public angegeben, das heißt von überall zugreifbar, und das hat ja Probleme gemacht. Sinnvoll wäre hier hingegen, jetzt habe ich das einmal hier abgeändert, die einzelnen Eigenschaften hier als protected zu deklarieren. Das heißt, in der abgeleiteten Klasse, wenn man also beispielsweise einen premium Kunden definiert, kann man auf diese Eigenschaften zugreifen, sonst aber nicht. Es gibt also drei Schlüsselwörter, die den Zugriff steuern auf Eigenschaften und Methoden. Public ist öffentlich und immer erreichbar, protected und private schränken den Zugriff ein. Auf als protected deklarierte Eigenschaften und Methoden können Sie in der abgeleiteten Klasse zugreifen, auf als private deklarierte nicht. Das ist der Unterschied zwischen diesen beiden. Und in der Praxis werden Sie häufiger mit protected arbeiten.

PHP 5.4 & MySQL 5.6 Grundkurs

Steigen Sie auch ohne Vorwissen in die Programmierung PHP- & MySQL-basierter Webseiten ein und lernen Sie die Sprachgrundlagen wie Bedingungen, Schleifen, Funktionen usw. kennen.

7 Std. 9 min (86 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!