[Python-es] Clase de Clases
Oswaldo
listas en soft-com.es
Lun Ene 21 18:35:07 CET 2013
El 21/01/2013 17:05, Alvaro Manrique escribió:
> Estoy probando esto...
>
> http://pastebin.com/asbyumjW
>
> Sin embargo tengo el mismo resultado, pero que me dicen... Voy por buen
> camino??
>
>
Como ya te han dicho para que cada instancia de la clase hija tenga sus
instancias independientes de miembro tienes que crearlas en el __init__
(No se ahora mismo si con metaclases se podría conseguir también).
Y si lo que quieres en simplicidad a la hora de definir las clases hijas
te lo tendrás que montar para hacer una definición que utilice el init
de la base posteriormente. Por ejemplo:
>>> class base(object):
... atributos = {} # diccionario {"nombreatributo": clase,}
... def __init__(self):
... for k in self.atributos:
... setattr(self, k, self.atributos[k]())
...
>>> class hija(base):
... atributos = {
... "Miembro1": Miembro,
... "Miembro2": Miembro,
... }
...
>>> h1 = hija()
Inicio de la clase Miembro
Inicio de la clase Miembro
>>> h2 = hija()
Inicio de la clase Miembro
Inicio de la clase Miembro
>>>
>>> print id(h1.Miembro1)
31243504
>>> print id(h2.Miembro1)
31243664
>>>
>>> del h1
Fin de la clase Miembro
Fin de la clase Miembro
>>> del h2
Fin de la clase Miembro
Fin de la clase Miembro
>>>
--
Oswaldo
Más información sobre la lista de distribución Python-es