Maison  >  Article  >  développement back-end  >  Modificateurs d'accès en Python : public, privé et protégé

Modificateurs d'accès en Python : public, privé et protégé

PHPz
PHPzavant
2023-09-02 19:17:061531parcourir

Modificateurs daccès en Python : public, privé et protégé

Les modificateurs d'accès sont utilisés par les langages de programmation orientés objet comme C++, Java, Python, etc. pour restreindre l'accès à la variable et aux méthodes membres de la classe depuis l'extérieur de la classe. L'encapsulation est un principe de POO qui protège les données internes de. la classe utilisant des modificateurs d'accès comme Public, Privé et Protégé.

Python prend en charge trois modificateurs d'accès, à savoir public, privé et protégé. Ces modificateurs d'accès fournissent des restrictions sur l'accès aux variables membres et aux méthodes d'une classe à partir de n'importe quel objet extérieur à la classe.

Modificateur d'accès public

Par défaut, les variables et méthodes membres sont publiques, ce qui signifie qu'elles sont accessibles de n'importe où à l'extérieur ou à l'intérieur de la classe. Aucun mot-clé public n'est requis pour rendre la classe ou les méthodes et propriétés publiques. Voici un exemple de modificateur d'accès public -

. La traduction chinoise de

Exemple

est :

Exemple

La classe d'étudiants a deux variables membres, le nom et l'âge et un affichage de méthode qui imprime les valeurs des variables membres. Ces variables et les méthodes sont publiques car aucun mot-clé spécifique ne leur est attribué.

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() 

Sortie

Name: John
Age: 20

Modificateur d'accès privé

Les propriétés et méthodes de classe avec modificateur d'accès privé ne sont accessibles que dans la classe où elles sont définies et ne sont pas accessibles en dehors de la classe. En Python, les propriétés et méthodes privées sont déclarées en ajoutant un préfixe avec deux traits de soulignement ('__') avant leur. déclaration.

La traduction chinoise de

Exemple

est :

Exemple

La classe BankAccount est déclarée avec deux variables privées, à savoir le numéro de compte et le solde, ainsi qu'une propriété privée display_balance qui imprime le solde du compte bancaire. Comme les propriétés et la méthode sont privées, tout accès depuis l'extérieur de la classe génère une erreur d'attribut.

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() 

Sortie

AttributeError: 'BankAccount' object has no attribute '__display_balance'

Modificateur d'accès protégé

Les propriétés et méthodes de classe avec un modificateur d'accès protégé sont accessibles à l'intérieur de la classe et dans les classes qui héritent de la classe protégée. En Python, les membres et méthodes protégés sont déclarés en utilisant un seul trait de soulignement (« _ ») comme préfixe avant leur nom.

La traduction chinoise de

Exemple

est :

Exemple

La classe Person a deux attributs protégés, à savoir _name et _age, et une méthode protégée _display, qui est utilisée pour afficher les valeurs d'attribut de la classe Person. La classe Student hérite de la classe Person et possède un attribut protégé supplémentaire _roll_number et une méthode publique display, qui appelle la méthode _display de la classe Person de la classe parent. En créant une instance de la classe Student, nous pouvons appeler la méthode display depuis l'extérieur de la classe, car la méthode display est privée, elle appelle la méthode protégée _display de la classe Person.

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() 

Sortie

Name: John
Age: 20
Roll Number: 123

Conclusion

Dans cet article, nous avons découvert trois modificateurs d'accès utilisés pour le masquage et la protection des données dans Python et d'autres langages de programmation orientés objet. Public, privé et protégé sont les trois modificateurs d'accès utilisés en Python. Les propriétés et méthodes publiques d’une classe sont accessibles depuis n’importe où à l’intérieur ou à l’extérieur de la classe. Les variables et propriétés des membres privés ne sont accessibles qu'à partir de la classe dans laquelle elles sont déclarées. Le modificateur d'accès protégé est utilisé lorsque nous devons accéder aux propriétés et aux méthodes d'une classe depuis l'intérieur de la classe et depuis les classes qui héritent de cette classe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer