On Mon, May 5, 2008 at 9:20 AM, Pietro Battiston <[EMAIL PROTECTED]> wrote: > Pietro Battiston ha scritto: > > enrico franchi ha scritto: > > >> On Sun, May 4, 2008 at 7:20 PM, Pietro Battiston <[EMAIL PROTECTED]> wrote: > >> > >> > >>> (O intendi qualcos'altro? Io per ora del tipo "set" sto usando update, > >>> remove, add, metodi che non vorrei dover ridefinire) > >>> > >> > >> E non ridefinirli. Delegali. > > Vabbé che "Google is my friend", ma certo sei un tantinello criptico > (immagino si evinca dai miei messaggi precedenti quanto io sia poco > esperto di Python)? > > "delegare" significa in pratica "richiamare esplicitamente il metodo di > libreria all'interno del metodo che si ridefinisce"? Tipo > > class nonderivata(): > def __fai_questo__(self): > set.__fai_questo__(self) > > ? > > Se sì, che ci guadagno?! > Se no, che vuol dire?!
Ciao, spero di non aggiungere confusione. Se fosse così, cancellate il mio messaggio :) Ho letto rapidamente il thread, forse un semplice esempio può essere utile: >>> class my_list(list): ... def append(self, val): ... print "ciao", val ... list.append(self, val) ... >>> prova=my_list([1,2,3]) >>> prova [1, 2, 3] >>> prova.reverse() >>> prova [3, 2, 1] >>> prova.append(4) ciao 4 >>> prova [3, 2, 1, 4] Come vedi my_list eredita da list, a cui delega tutti i metodi, ad esempio __repr__ e reverse, e invece sovrascrive, in una maniera veramente stupida, il metodo append. ciao, fra _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python