RE: [Python-es] Herencia dinàmica

Hernán Martínez Foffani hernan en orgmf.com.ar
Vie Nov 19 20:19:18 CET 2004


> Puestos a rizar el rizo en python ¿ alguien sabe si puede
> implementarse herencia dinàmica ?

Por supuesto.  Recuerda que es python ;-)
Podrías utilizar metaclases.

> Es decir, suponiendo que tenga una lista de clases ¿ hay alguna forma
> de crear dinámicamente una clase "dummy" que herede de todas ellas ?

¿Algo así te sirve?  (M es la metaclases y A, B y C son clases
normales)

  >>> class M(type):
  ...     pass
  ...
  >>> class A(object):
  ...     pass
  ...
  >>> class B(object):
  ...     pass
  ...
  >>> class C(object):
  ...     pass
  ...
  >>> Dummy = M.__new__(M, "Dummy", (A,B), {})
  >>> Dummy
  <class '__main__.Dummy'>
  >>> d = Dummy()
  >>> isinstance(d, Dummy)
  True
  >>> isinstance(d, A)
  True
  >>> isinstance(d, B)
  True
  >>> isinstance(d, C)
  False
  >>>

Se puede hacer mas prolijo pero creo que basta para
dar una idea...

Saludos,
-H.

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


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