Übersicht über die Kapselung in Python
Die Kapselung ist eines der vier grundlegenden Konzepte der objektorientierten Programmierung. Wenn es erforderlich ist, Daten zu gruppieren und die nachfolgenden Subroutinen, die zusammenarbeiten und an einem Ort funktionieren, zusammen mit der Notwendigkeit, die komplexen Details vor dem Benutzer zu verbergen, verwenden wir die Kapselung, um "Kapselung in Python" zu verstehen, die wir vertiefen und verstehen müssen wie Encapsulation in einer Programmiersprache ins Bild kommt. Die Kapselung hilft dabei, den Zugriff auf Methoden und Variablen einzuschränken. Das Verhindern versehentlicher Datenänderungen wird mithilfe der Methoden "Nicht öffentliche Instanzvariable" und "Nicht öffentliche Instanzvariable" erreicht. Die Klasse kapselt die Methoden und Variablen.
Nennen Sie Mangling in Python
Python impliziert eine Einschränkung des Zugriffs auf Daten. Es gibt keine expliziten Zugriffsmodifikatoren, der Zugriff kann jedoch über die Namensverwaltung in Python gesteuert werden. Standardmäßig sind alle Methoden und Variablen in Python öffentlich. Wenn also ein Bezeichner zwei führende Unterstriche aufweist, wird er in Python zu einer nicht öffentlichen Instanz. Wir würden hier nicht-öffentliche Instanzvariablen und -methoden angeben, um die Kapselung besser zu verstehen. Der Geltungsbereich einer nicht öffentlichen Instanzmethode liegt nur innerhalb ihrer eigenen Klasse und beginnt mit einem Unterstrich oder zwei Unterstrichen, dh einfachem "_" oder "__" double vor einer Variablen oder einer Methode. Der Gültigkeitsbereich einer nicht öffentlichen Instanzvariablen liegt ebenfalls in ihrer eigenen Klasse oder nach der Methode, in der sie definiert ist, und beginnt auch mit zwei Unterstrichen. Wenn wir die beiden Unterstriche versäumen, wird diese Methode als öffentliche Methode betrachtet. Bevor wir die Kapselung in Python verstehen, müssen wir verstehen, wie öffentliche und nicht öffentliche Instanzvariablen und -methoden funktionieren.
Nicht öffentliche Instanzvariablen
In Python gibt es keinen Begriff als "privat", da in Python kein Attribut wirklich privat ist (die zugrunde liegende Alternative wird später in diesem Artikel erläutert). Stattdessen bezeichnen wir sie als nicht öffentliche Instanzvariable. So würden wir hiermit auf die privaten Variablen und privaten Methoden verweisen.
Hier ist ein kleiner Ausschnitt des Codes in Python für nicht öffentliche Instanzvariablen:
Wir verwenden das Schlüsselwort self, weil wir auf die Klassenvariable zugreifen. Die Ausgabe ist:
Um eine Bestätigung über den Gültigkeitsbereich der nicht öffentlichen Instanzvariablen zu erhalten, fügen wir dem Code den Ausdruck (abc .__ a) hinzu:
Und die zurückgegebene Ausgabe ist:
Wir sehen also, dass wir keine nicht öffentlichen Instanzvariablen außerhalb der Klasse verwenden können.
Nicht öffentliche Instanzmethoden
Eine nicht öffentliche Instanzfunktion kann nicht direkt auf dem Objekt aufgerufen werden, sondern nur innerhalb der Klasse.
In diesem Code-Snippet gibt es zwei Methoden, eine nicht öffentliche Instanz und eine andere öffentliche Methode. Die öffentliche Methode kann einfach aufgerufen werden, indem ein Objekt der Klasse abc erstellt und dann dessen Ausgabe gedruckt wird.
Wenn ein ähnlicher Ansatz für die nicht öffentliche Instanzmethode versucht wird, tritt der folgende Fehler auf:
Dieses Programm erzeugt die folgende Ausgabe:
Daher ist es nicht möglich, durch Objekterstellung auf eine nicht öffentliche Instanzmethode zuzugreifen. Um auf die nicht öffentliche Instanzmethode zuzugreifen, können wir die __show1 () -Methode von der show2 () -Methode derselben Klasse aufrufen. So können wir die nicht öffentliche Instanzmethode aus der öffentlichen Methode derselben Klasse anzeigen.
Ausgabe:
Daher kann die nicht öffentliche Instanzmethode nicht außerhalb ihrer Klasse aufgerufen werden.
Die indirekte Methode für den Zugriff auf die nicht öffentliche Instanzvariable
Aus legitimen Gründen kann auf nicht öffentliche Instanzvariablen nicht über die Klasse hinaus zugegriffen werden. Es gibt jedoch eine indirekte Möglichkeit, den Wert der nicht öffentlichen Instanzvariablen zu ändern und den Zugriff mithilfe von Objekten zu ermöglichen. Wir werden uns den folgenden Codeausschnitt ansehen:
Ausgabe:
Im obigen Programm haben wir die öffentlichen Methoden getNumber (self, num) und displayNumber () und eine nicht öffentliche Instanzvariable. Beim Aufrufen der ersten Methode weisen wir der nicht öffentlichen Instanzvariablen den Wert zu, der in der displayNumber () -Methode aufgerufen wird.
Die Setter-Methode wird verwendet, um den Wert der nicht öffentlichen Instanzvariablen festzulegen. Dies ist in den Szenarien hilfreich, wenn Sie den Wert einer nicht öffentlichen Instanzvariablen nach dem Erstellen von Objekten für eine bestimmte Variable ändern möchten.
Vorteile der Kapselung in Python
Die Kapselung hilft beim Aufbau eines besseren Datenflusses und auch beim Schutz der Daten. Das Konzept der Kapselung macht den Code autark. Die Kapselung bietet eine große Hilfe auf der Implementierungsebene, da sie sich in erster Linie auf die Frage konzentriert, wie der Komplex wann / wo und seine Komplexität zurückbleibt. Das Verstecken der Daten in einer Einheit erleichtert die Kapselung und sichert die Daten.
Warum brauchen wir Encapsulation in Python?
Im Folgenden sind einige Gründe aufgeführt, warum Entwickler das Konzept der Kapselung als nützlich empfinden und warum die objektorientierten Konzepte in den meisten Programmiersprachen gelten, die im heutigen Szenario ausgeführt werden.
- In jeder Anwendung ist eine genau definierte Interaktion erforderlich, wobei Verkapselungen dabei helfen.
- Das Konzept der Objektorientierungsprogrammierung in Python konzentriert sich auf die Erstellung von wiederverwendbarem Code. Dies wird auch als DRY (Don't Repeat Yourself) abgekürzt.
- Die Wartung der Anwendung ist einfacher und die Sicherheit gewährleistet.
- Klarheit über das Kodierungsverfahren, da Entwickler sich um das Ziel der Klasse kümmern müssen und die Komplexität systematisch behandelt wird.
- Die richtige Organisation der Codes trägt zur Flexibilität des Codes bei und hilft auch beim Testen von Einheiten.
- Benutzer finden es einfach, das System zu verwenden, da sie sich vor dem komplexen Design im Backend verstecken.
- Wenn alle ähnlichen Daten an einem Ort gespeichert und eingekapselt sind, erhöht sich die Kohäsion innerhalb eines Moduls.
- Verbessert die Lesbarkeit der Codes und Änderungen an einem Teil des Codes stören andere Teile des Codes nicht.
- Die Kapselung verhindert, dass versehentlich auf den Teil des Codes zugegriffen wird, jedoch nicht absichtlich, da Objekte wichtige Daten für Anwendungen enthalten und an einer beliebigen Stelle im Code geändert werden sollten.
Fazit - Kapselung in Python
Einfacher ausgedrückt bedeutet Kapselung in Python, dass die interne Darstellung eines Objekts außerhalb der Objektdefinition in der Regel nicht in der Ansicht angezeigt wird. Dies hilft dem Entwickler, eine benutzerfreundliche Erfahrung für den Endbenutzer zu entwickeln, und es besteht ein Schutz vor einer Sicherheitsverletzung, da die Codes sicher gemacht werden.
Empfohlene Artikel
Dies ist eine Anleitung zur Kapselung in Python. Hier diskutieren wir die Anforderungen der Kapselung in Python zusammen mit seinen nicht öffentlichen Instanzvariablen und Instanzmethoden. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -
- Was ist Python?
- Ist Python-Objektorientiert
- Muster in Python
- Wie verwende ich Encapsulation in C ++?
- Kapselung in Java | Beispiele
- Verkapselung in C (Arbeiten, Beispiele)
- Einführung in die Kapselung in JavaScript