[Python] property polimorfica
Massimiliano Pippi
mpippi a gmail.com
Mar 3 Giu 2014 15:45:39 CEST
On Tue, Jun 3, 2014 at 3:07 PM, Piergiuliano Bossi <pgbossi a gmail.com> wrote:
> Mi vengono in mente 3 modi per farlo:
> 2) usare il costrutto property => old style, richiede per forza di essere
> ridefinito nelle classi derivate, verboso
Puoi usare una lambda per rendere disponibile self al momento giusto:
class Dad(object):
def get_value(self):
return self._value
def set_value(self, value):
self._value = value
def __str__(self):
return "value={}".format(self._value)
value = property(lambda self: self.get_value(), lambda self, val:
self.set_value(val))
class Son(Dad):
def set_value(self, value):
super(Son, self).set_value(value*2)
def func(arg):
arg.value = 15
print(arg)
func(Dad())
func(Son())
--
M.
http://2014.djangovillage.it/ :: http://tinkergarage.it/
Maggiori informazioni sulla lista
Python