Derivacion condicional

Oswaldo Hernández listas en soft-com.es
Jue Jul 12 21:46:38 CEST 2007


Hernan Martínez-Foffani escribió:
> On 7/12/07, Oswaldo Hernández <listas en soft-com.es> wrote:
>> Chema Cortes escribió:
>> > El 12/07/07, Oswaldo Hernández <listas en soft-com.es> escribió:
>> >> Chema Cortes escribió:
>>
>> > Supongo que lo debes tener claro; pero es dificil saber qué es lo que
>> > buscas sin ver el grafo de herencias que tienes previsto. Por la
>> > respuesta que has dado a Gerardo sospecho que las metaclases tampoco
>> > te van a servir.
>>
>> El esquema de clases vendria a ser algo asi (debia de haber empezado 
>> por aqui :( )
>>
>> Clases A y B:  derivan de distintos objetos wx y establecen un
>> interface comun para ellos.
>>
>> Clase C es la que, en funcion del entorno o de los parametros,
>> decide si se ha de utilizar A o B, ademas de añadir algunos metodos.
> 
> me da la impresión que te estás complicándo demasiado porque
> eso de cambiar la jerarquía de clases en tiempo de ejecución...
> ¿no puedes quitar a C de en medio?
> ¿estás *completamente seguro* que no tienes alternativas?
> 
>> Clases D, E, ... derivan de C y son las que establecen las propiedades y
>> metodos finales para la
>> funcion a realizar. Estas clases finales no tienen que preocuparse
>> sobre si se esta utilizando A o B.
> 
> Como creo que ya te ha comentado Chema, si usas "duck typing" ni
> siquiera te tienes que preocupar de dónde derivan los objetos de
> D, E y demás. Usas los métodos y a otra cosa.
> 
> También podrías generalizar la interfaz común en una superclase
> común a A y B. Recuerda que Python permite la herencia múltiple.

Creo que hoy ya tengo bastante cargada la cabeza. Quiza lo esté complicando demasiado. Mañana me 
replantearé el tema y volveré a comprobar las soluciones que me aportais.

Gracias.

-- 
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************




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