Scusatemi, qual'è il sistema più corretto per creare una proprietà pubblica in una classe ? Ad esempio, diciamo che io voglia creare una classe con una proprietà "nome", e se non specifico il valore di questa proprietà voglio che mi venga restituito un valore di default.
Ho scritto tre volte la stessa classe usando tre varianti: 1) Nella prima uso i decoratori @property e @nome.setter per creare getter e setter 2) Nella seconda uso il decoratore @property sostanzialmente per "dichiarare" che avrò una proprietà pubblica, e poi uso i decoratori @nome.getter e @nome.setter per fare il lavoro 3) Nella terza creo due metodi get_nome e set_nome, e poi li do in pasto all'istruzione "property" per creare la mia proprietà. Tutte e tre le soluzioni mi sembra che abbiano vantaggi e svantaggi. Ad esempio per poter usare i decoratori devo creare due metodi con lo stesso nome... per quello che ricordo io corrisponde a un'"overloading di metodi", cosa che però mi sembra di ricordare non sia consentita in Python... quindi il decoratore chiede a Python di fare un'eccezione alla regola "niente overloading" ? Nel terzo esempio invece io potrei teoricamente accedere al contenuto di "nome" sia richiamando la proprietà "nome", sia richiamando i metodi get_nome e set_nome. Per consultazione ho messo online qui le tre classi che ho scritto: https://gist.github.com/fmaida/9e803fefb717c4e0df4f Secondo voi, qual'è il modo più corretto in questo caso? Vi ringrazio anticipatamente per il vostro tempo.
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python