>
> De todas maneras, en tu caso no te sirve subclasear el factory,
> simplemente usa `o = fac(0)`. Tal vez si explicas mejor que es lo que
> intentas hacer?
Como comentaba en mi primer email, se trata de un situacion como esta:
class Base1(object):
def __init__(self):
blablabla
class Base2(object):
def __init__(self):
blablabla
class MyClass(Base):
def __init__(self, x):
self.x = x
super(MyClass, self).__init__()
donde me gustaria que MyClass pudiese decidir si quiere heredar de Base1 o
de Base2... si es que eso es posible.
Las primeras respuestas que recibi parecian indicar que con una Factory era
trivial, pero la verdad es que no he sido capaz :)
Lo unico que se me ocurre es hacer una wrapper a MyClass, decidir dentro
del wrapper como construir MyClass, y usar __setattribute__ y
__getattribute__ para "wrappear" las llamadas a metodos de MyClass.
Algo como esto (en pseudo-codigo):
class Base1(object):
def __init__(self):
blablabla
class Base2(object):
def __init__(self):
blablabla
class Wrapp(object):
def __init__(self, x):
if x == ...
base = Base1
else:
base = Base2
obj = MyClass(base)
def set(): obj.set()
def get(): obj.get()
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/