Python lernen

Eine Frage der Sichtbarkeit

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Die Sichtbarkeit von Methoden und Attributen außerhalb einer Klasse kann in der OOP vorgegeben werden. Python unterstützt mittels Unterstrichen verschiedene Sichtbarkeitsebenen. Zum Zugriff auf private Elemente nimmt man oft Getter und Setter.
03:15

Transkript

Wenn Sie eine ganz einfache Klasse haben, die nur eine Eigenschaft bereitstellt, dann können Sie diese Klasse instanziieren über den Default Konstruktor beispielsweise und dann über die Objektvariable auf diese Eigenschaft zugreifen. Das schauen wir uns mal an und Sie sehen der Zugriff funktioniert einwandfrei. Man sagt, dass diese Eigenschaft jetzt öffentlich zugänglich ist "public". "public" ist ein Sichtbarkeitsmodifizierer und es gibt in der objektorientierten Philosophie verschiedene Sichtbarkeitsmodifizierer, die nicht alle in jeder Sprache auch umgesetzt sind. Der Sichtbarkeitsmodifizierer "package" beispielsweise der ist in Python überhaupt nicht vorhanden. Aber es gibt einen anderen Sichtbarkeitsmodifizierer, der ist in Python vorhanden und der nennt sich "private". "private" bedeutet, ein Element ist außerhalb der Klasse nicht zugänglich und das wird in Python durch zwei Unterstriche gekennzeichnet, vor dem Namen, einer Eigenschaft oder gegebenenfalls auch einer Methode. Wenn ich jetzt das Beispiel wieder ausführe, dann sehen Sie, es kommt ein Fehler. Diese Eigenschaft ist nicht mehr von außen zugänglich, sie ist versteckt, privatisiert. Nun können sich natürlich fragen, für was ist so etwas sinnvoll? Man kann diese privatisierten Eigenschaften jetzt indirekt zugänglich machen, beispielsweise über eine Methode. Das heißt, wenn man eine Methode hinschreibt, nennen wir sie mal "getAlter", dann hat man im Inneren dieser Methode den Zugang zu dieser Eigenschaft, denn ich befinde mich ja innerhalb der Klasse und könnte jetzt, mit einem Return, über die Syntax "self._ Alter" diesen Wert zurückliefern und statt der Eigenschaft schreibt man hier die Methode hin. Das scheint nun relativ viel Aufwand zu sein, aber was ist der Benefit davon? Sie können hier Logik einbauen. Das heißt, dieses zurückliefern des Wertes, das kann mit irgendwelchen Abfragen gekoppelt werden und Sie haben jetzt einen Lesezugriff auf diese Eigenschaft gesetzt. Sie können diese Eigenschaft gar nicht direkt von außen zugänglich nicht mehr verändern. Sie würden eine entsprechende Methode zum Setzen der Eigenschaft brauchen. Man redet hier bei dieser Methode von einem sogenannten Getter und wenn Sie die Eigenschaft über eine Methode setzen, von einem Setter Getter-Methode, Setter-Methode. Das ist gängige Praxis in der objektorientierten Programmierung, die Datenkapselung umzusetzen. Das heißt, gezielt gewisse Dinge bereitzustellen oder zu verbergen und der Schlüssel ist eben, dass man die Sichtbarkeit von Elementen steuern kann und mit diesen zwei Unterstrichen privatisieren Sie Bestandteile einer Klasse, zum Beispiel eines Objektes in Python.

Python lernen

Lernen Sie Syntax, Konzepte und Sprachelemente der praktischen Programmiersprache Schritt für Schritt kennen.

3 Std. 41 min (64 Videos)
Derzeit sind keine Feedbacks vorhanden...
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:08.06.2018

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!