Federico Tomassini ha scritto:
Ciao a tutti,
ho un dubbio sui python internal.
Ecco la situazione; ho due classi:
###
class Foo:
def __init__(self):
self.x= 0
def inc(self):
self.x+= 1
class Bar:
def __init__(self):
self.x= 0
foo=Foo()
bar=Bar()
###
Poi, eseguo cio' che chiamo un'exporting di classe:
###
attr= getattr(foo, 'inc')
setattr(bar, 'inc', attr)
###
In questo modo la classe `bar` avra' il metodo 'inc',
richiamabile tramite `self.inc`.
Se a questo punto qualcuno si chiedesse perche' non
eredito, la risposta e' la seguente: l'ereditarieta'
costringe, per ogni classe, a inizializzare un nuovo
padre; queso in genere non e' un problema, ma nel mio
caso voglio che le mie classi utilizzino tutte lo
*stesso padre*, e non un' istanza ciascuna.
In Python la classe base non รจ inizializzata a meno che non lo richieda
tu esplicitamente.
Basta non chiamare l'__init__ della classe base.
Infine per fare in modo che lo stato della classe base sia unico cerca
"pattern Borg".
Saluti Manlio Perillo
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python