Evolución dinámica de los objetos a diferentes clases

Antoni Aloy López aloy en ctv.es
Jue Ago 22 21:46:24 CEST 2002


El Jue 22 Ago 2002 21:14, Marcos Sánchez Provencio escrigué:
> En cosas sencillas, he probado y vale con meterle el __class__ a pelo.
> Había que probarlo :-D
>
> class a:
>     def x(self):
>         return 'a'
>
> class b:
>     def x(self):
>         return 'b'
>
> aa=a()
> print aa.x()
> aa.__class__=b
> print aa.x()
>

Muy bonito, e imposible de mantener :(

Depende mucho de tu aplicación, pero yo estoy por hacer algo menos genérico y 
más sencillo de leer/depurar/modificar, que al fin y al cabo representa un 
80% del ciclo de vida de un programa.

Tanto la clase cliente como proveedor pueden heredar directamente de persona, 
la clase básica. La persistencia se podría sobreescribir cada vez, o 
separarla en varios procedimientos para poder reaprovechar mejor el código.

Seguir la norma KISS suele ser lo mejor en estos casos, puedes encontrar 
soluciones técnicamente espectaculares, pero la simplicidad del código es una 
virtud en sí misma.
-- 

Antoni Aloy López
Binissalem - Mallorca
Linux Registered User # 210825
Gentoo Powered





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