[Python-es] Clase de Clases

Alvaro Manrique sanreikaj.foros en gmail.com
Lun Ene 21 23:34:08 CET 2013


--------------------------------------------------------------
*Alvaro Manrique*
*Programador*
*Venezuela*
*Skype: alvaromanrique84*
*Twitter: @AJ_Manrique <http://twitter.com/AJ_Manrique>*
---------------------------------------------------------------


El 21 de enero de 2013 16:51, Chema Cortes <pych3m4 en gmail.com> escribió:

> El día 21 de enero de 2013 16:00, Alvaro Manrique
> <sanreikaj.foros en gmail.com> escribió:
> > Gracias Chema y Oswaldo
> >
> > Emmm tomando lo ultimo que dices Oswaldo ya estoy en el desastre jejeje,
> mi
> > problema es tal cual lo planteas.
> >
> > Planteo el problema de esta manera:
> >
> > Necesito que la clase Hija herede de la clase base para que tenga sus
> > métodos y atributos, hasta aquí todo bien.
> >
> > Luego los atributos de la clase hija también deben ser objetos ya que
> ellos
> > deben manejar sus propios atributos y métodos, aquí es donde nace la
> idea de
> > que sean instancias de otra clase aparte y de hecho hasta aquí todo
> funciona
> > de maravilla el problema es cuando necesito crear otra instancia de la
> misma
> > clase hija.
> >
> > Si pudiese lograr que cuando se destruya la instancia de la clase hija
> > también lo hagan sus atributos seria la solución, pero como dices Chema
> > quizá es problema de concepto.
>
> Lo que me despista es la comparación con un ORM. Que los atributos se
> comporten como objetos es lo normal, en python todo son objetos. El
> problema parece ser que no quieres que sean atributos compartidos por
> todas las instancias (atributos de clase). Entonces tendrás que
> declararlos dentro de algún método de inicialización o de creación de
> la instancia.
>

No es una comparación, es el desarrollo de un ORM, obviamente en su fase
inicial y quizá mas de un maestro de los que están aquí pensaran que puedo
hacerlo de una u otra manera (o que estoy errado del todo :s), pero creo
que es parte del aprendizaje.


Entrando en materia, efectivamente fue lo que hice, en la inicialización de
la clase base creo la instancia de la clase base de los "Campos"


> Si por lo que veo, cada instancia dices que quieres que tenga su
> conexión, y no quieres que se comparta entre instancias, entonces
> tienes dos opciones:
>
> 1) crea la conexión al inicializar la instancia (método __init__)
> 2) crea la conexión fuera de la definición de la clase y se la añades
> como atributo a la instancia
>
>
Es correcto así lo estoy haciendo.


>
> Tal vez pueda serte útil echar un vistazo a la teoría de "Patrones de
> Diseño", en concreto los patrones estructurales como Facade:
>
> http://es.wikipedia.org/wiki/Patrón_de_diseño
>
> http://www.etnassoft.com/biblioteca/design-patterns-in-python/
>
>
>
Gracias por tus respuestas, voy a leer los artículos que me sugieres.



> --
> Hyperreals *R: http://ch3m4.org/blog
> Quarks, bits y otras criaturas infinitesimales
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130121/6de3954a/attachment.html>


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