Zugriffsmodifikatoren werden von objektorientierten Programmiersprachen wie C++, Java, Python usw. verwendet, um den Zugriff auf die Klassenmitgliedsvariablen und -methoden von außerhalb der Klasse zu beschränken Die Klasse verwendet Zugriffsmodifikatoren wie Public, Private und Protected.
Python unterstützt drei Zugriffsmodifikatoren: öffentlich, privat und geschützt. Diese Zugriffsmodifikatoren beschränken den Zugriff auf die Mitgliedsvariablen und Methoden einer Klasse von jedem Objekt außerhalb der Klasse aus.
Standardmäßig sind die Mitgliedsvariablen und -methoden öffentlich, was bedeutet, dass von überall außerhalb oder innerhalb der Klasse auf sie zugegriffen werden kann. Es ist kein öffentliches Schlüsselwort erforderlich, um die Klasse oder Methoden und Eigenschaften öffentlich zu machen. Hier ist ein Beispiel für den öffentlichen Zugriffsmodifikator −
Die chinesische Übersetzung vonDie Schülerklasse verfügt über zwei Mitgliedsvariablen, Name und Alter, sowie eine Methodenanzeige, die die Werte der Mitgliedsvariablen ausgibt. Sowohl diese Variablen als auch die Methoden sind öffentlich, da ihnen kein bestimmtes Schlüsselwort zugewiesen ist.
class Student: def __init__(self, name, age): self.name = name self.age = age def display(self): print("Name:", self.name) print("Age:", self.age) s = Student("John", 20) s.display()
Name: John Age: 20
Auf Klasseneigenschaften und -methoden mit privatem Zugriffsmodifikator kann nur innerhalb der Klasse zugegriffen werden, in der sie definiert sind, und nicht außerhalb der Klasse. In Python werden private Eigenschaften und Methoden durch Hinzufügen eines Präfixes mit zwei Unterstrichen ('__') vor ihnen deklariert Erklärung.
Die chinesische Übersetzung vonDie Klasse „BankAccount“ wird mit zwei privaten Variablen deklariert, nämlich „account_number“ und „balance“, und einer privaten Eigenschaft „display_balance“, die den Kontostand des Bankkontos ausgibt. Da sowohl die Eigenschaften als auch die Methode privat sind, wird beim Zugriff darauf von außerhalb der Klasse ein Attributfehler ausgelöst.
class BankAccount: def __init__(self, account_number, balance): self.__account_number = account_number self.__balance = balance def __display_balance(self): print("Balance:", self.__balance) b = BankAccount(1234567890, 5000) b.__display_balance()
AttributeError: 'BankAccount' object has no attribute '__display_balance'
Auf Klasseneigenschaften und -methoden mit geschütztem Zugriffsmodifikator kann innerhalb der Klasse und in Klassen zugegriffen werden, die die geschützte Klasse erben. In Python werden geschützte Mitglieder und Methoden mit einem einzelnen Unterstrich („_“) als Präfix vor ihrem Namen deklariert.
Die chinesische Übersetzung vonDie Person-Klasse verfügt über zwei geschützte Attribute, nämlich _name und _age, sowie eine geschützte Methode _display, mit der die Attributwerte der Person-Klasse angezeigt werden. Die Student-Klasse erbt von der Person-Klasse und verfügt über ein zusätzliches geschütztes Attribut _roll_number und eine öffentliche Methode display, die die _display-Methode der Person-Klasse der übergeordneten Klasse aufruft. Indem wir eine Instanz der Student-Klasse erstellen, können wir die Anzeigemethode von außerhalb der Klasse aufrufen. Da die Anzeigemethode privat ist, ruft sie die geschützte _display-Methode der Person-Klasse auf.
class Person: def __init__(self, name, age): self._name = name self._age = age def _display(self): print("Name:", self._name) print("Age:", self._age) class Student(Person): def __init__(self, name, age, roll_number): super().__init__(name, age) self._roll_number = roll_number def display(self): self._display() print("Roll Number:", self._roll_number) s = Student("John", 20, 123) s.display()
Name: John Age: 20 Roll Number: 123
In diesem Artikel haben wir drei Zugriffsmodifikatoren kennengelernt, die zum Verstecken und Schützen von Daten in Python und anderen objektorientierten Programmiersprachen verwendet werden. Öffentlich, privat und geschützt sind die drei in Python verwendeten Zugriffsmodifikatoren. Auf die öffentlichen Eigenschaften und Methoden einer Klasse kann von überall innerhalb oder außerhalb der Klasse zugegriffen werden. Auf private Mitgliedsvariablen und Eigenschaften kann nur innerhalb der Klasse zugegriffen werden, in der sie deklariert sind. Der geschützte Zugriffsmodifikator wird verwendet, wenn wir innerhalb der Klasse und von Klassen, die von dieser Klasse erben, auf die Eigenschaften und Methoden einer Klasse zugreifen müssen.
Das obige ist der detaillierte Inhalt vonZugriffsmodifikatoren in Python: Öffentlich, Privat und Geschützt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!