Bonjour à tous, je suis actuellement entrain d'apprendre la POO en Python, et plus particulièrement les propriétés et encapsulation, j'ai vu deux manières d'encapsuler :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
class User():
        def __init__(self, age):
                self._age = age
 
        @property
        def age(self):
                return self._age 
 
        @age.setter
        def age(self, new_age):
                self._age = new_age
ou alors :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
class User():
    def __init__(self, age):
        self._age = age
 
    def _getage(self):
        return self._age
 
    def _setage(self, new_age):
    	self._age = new_age
 
    age = property(_getage, _setage)
Mais j'aimerai connaitre la différence, est-ce qu'il y a un avantage a utilisé une façon plutôt que l'autre ?