Je veux avoir une classe Python qui agit comme un wrapper pour une autre classe Python.Faire une façade en Python 2.5
Quelque chose comme ça
class xxx:
name = property(fset=lambda self, v: setattr(self.inner, 'name', v), fget=lambda self: getattr(self.inner, 'name'))
def setWrapper(self, obj)
self.inner = obj
Alors, quand quelqu'un dit xxx(). X = 'bonjour' Je le veux pour définir la valeur sur xxx(). Inner.whatever et non xxx(). X.
Est-ce possible? J'ai essayé lambdas, mais en vain. J'utilise Python 2.5
Edit: Maintenant, ma femme ne me précipitait au lit pour que je puisse débusquer le code un peu plus. J'avais une idée de ce que vous aviez en dessous, mais du docs, il semblait que vous deviez éviter de surcharger __setattr__/__getattr__
et utiliser la propriété à la place. Si ce n'est pas possible de le faire via la fonction de propriété, alors je vais utiliser le __setattr__/__getattr__
? Merci
Bon point, je l'ai édité mon exemple pour correspondre à la vôtre. =) – Benno