D'un point de vue orienté objet, il n'y a pas de fonctionnalité de langage qui impose un accès privé aux membres de la classe (les cache de l'extérieur de la classe). Par convention, un ou deux traits de soulignement (_
) au début d'un nom de membre indiquent qu'il est privé / ne doit pas être accédé de l'extérieur, mais interdisent totalement l'accès à ces derniers. Je ne peux pas.
"We are all (consenting) adults here" --Guido van Rossum (auteur du langage Python) ou la communauté Python
class Person:
#Fonction privée (_Est une)
def _privateFun(self):
print("private!")
#Fonction privée (_2)
def __morePrivateFun(self):
print("secret!")
target = Person()
target._privateFun() # OK
target.__morePrivateFun() #C'est NG
target._Person__morePrivateFun() # OK
Recommended Posts