[Python-es] decidir en "real time" de qué clase heredar

Sergio Fernández sergio en wikier.org
Dom Feb 12 19:59:01 CET 2012


Efectivamente, como comenra Raúl, lo que nececitas implementas es el
patrón factory method. Para implemetarlo en python yo suelo hacer uso
de __new__: http://docs.python.org/reference/datamodel.html#object.__new__


2012/2/12 Raúl Cumplido <raulcumplido en gmail.com>:
> El patrón sería una Factory, tu clase Base debería ser una Factory que
> dependiendo de los parámetros de MyClass crearía una clase Base1 o Base2.
>
> Saludos,
>
> Raúl
>
> 2012/2/12 Jose Caballero <jcaballero.hep en gmail.com>
>>
>> Hola,
>>
>>
>> imaginemos unas clases como éstas
>>
>>
>> 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 dependiendo del valor de x, la clase de la que MyClass hereda sea
>> Base1 o Base2.
>> ¿Alguien sabe alguna forma de hacerlo?
>> ¿Quizás un patrón de diseño? Si es así, con darme el nombre del patrón me
>> basta, ya busco yo en google por mi cuenta.
>>
>>
>>
>> Muchas gracias por adelantado,
>> Jose
>>
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
>
> --
> Raúl Cumplido
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



-- 

Sergio Fernández <sergio en wikier.org>


Más información sobre la lista de distribución Python-es