On Tue, Jun 03, 2014 at 09:07:55AM -0400, Piergiuliano Bossi wrote: > Ciao a tutti, > > Vorrei definire una property in una gerarchia che si comporta diversamente > in maniera polimorfica in funzione del tipo dell'oggetto su cui e' > invocata. Mi vengono in mente 3 modi per farlo: > 1) trattare la property con getter/setter alla Java e fare l'override solo > dei comportamenti che cambiano => non pythonico, per cui direi proprio da > evitare (ma ha i suoi vantaggi, vedi sotto) > 2) usare il costrutto property => old style, richiede per forza di essere > ridefinito nelle classi derivate, verboso > 3) usare il decoratore @property => new style, analogo al precedente, > comunque richiede di ridefinire la property nelle classi derivate che ne > vogliono cambiare il comportamento > > Ho messo alcuni esempi qua sotto. L'opzione #1 e' orrida, ma e' anche > quella che richiede meno copia e incolla.
Questo, per me, è sufficiente ad una risposta per essere corretta. Inoltre se il comportamento cambia in base alla (sotto)classe, un metodo è più che giustificato. Un altro modo per risolvere è di utilizzare __getattr__ e __setattr__ ma lo trovo peggiore degli altri. Ciao m. _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python