[pyar] Consulta de disenio de clases.
Gonzalo
gonchi.sanchez en gmail.com
Vie Feb 25 17:48:58 ART 2011
Al final no era tan complicado, algo basico. Gracias EHB, lo resolvi de la
siguiente manera (seguro se puede hacer mejor y mas bonito):
class ClaseA(object):
def setInstanciaB(self, objeto):
self.instanciaB = objeto
def setFancyMsg(self, msg):
self.fancymsg = msg
def hitme(self):
print self.fancymsg
return
class ClaseB(object):
def setInstanciaA(self, objeto):
self.instanciaA = objeto
return
def pasarFancyMsgA(self):
self.instanciaA.setFancyMsg("Hola Tarolas!")
return
def hacerAlgo(self):
print "Calling home..."
self.instanciaA.hitme()
print "Done!"
return
def run(self):
self.pasarFancyMsgA()
self.hacerAlgo()
return
def main():
objetoA = ClaseA()
objetoB = ClaseB()
objetoA.setInstanciaB(objetoB)
objetoB.setInstanciaA(objetoA)
objetoB.run()
Gracias nuevamente.
slds,
El 25 de febrero de 2011 17:31, Gonzalo <gonchi.sanchez en gmail.com> escribió:
> Perdon nicolas, explique que no tengo enie en este teclado! ;)
>
> EHB gracias, algo asi...
> A los demas, por si no quedo muy clara la idea seria hacer algo como:
>
> class ClaseA:
> def metodoA(par1, par2):
> print("los parametros en A son: %d, %d") %(par1, par2)
>
> def pasarParametros():
> miReferenciaObjetoB.metodoB(par1, par2)
>
> class ClaseB:
> def metodoB(par1, par2):
> print("los parametros en B son: %d, %d") %(par1, par2)
>
> def pasarParametros():
> miReferenciaObjetoA.metodoA(par1, par2)
>
> def main:
> objetoA = ClaseA()
> objetoB = ClaseB()
>
>
> Evidentemente para que el objetoA tenga una referencia al objetoB, deberia
> llamar a una funcion o un objeto "mas alto" jerarquicamente, del cual poder
> obtener la referencia al objeto necesario... Pregunte lo del singleton
> porque esto una vez lo hcie en java aplicando singleton; tenia una especie
> de objeto "Dios", encargado de crear los demas objetos, y cada vez que desde
> un objeto "hijo" necesitaba pasar referencia a otro, lo hacia llamando a un
> "Dios.getObjetoX.pasarParametro(x,y,z)"... Que es masomenos lo que necesito
> aca...
> Podria hacerse por ejemplo con variables globales? Es decir, en mi main,
> objetoA y objetoB son globales, tales que se pueden llamar de cualquier
> clase (esto no lo probe todavia), igual esto seria medio como una fantochada
> porque estaria mezclando temas de distintos paradigmas, que es lo que no
> quiero hacer...
> Muy probablemente tengo un error de conceptos, pero necesito un tip que me
> haga avivarme!
> Muchas gracias.
>
> slds,
>
> 2011/2/25 nicolás rosbaco <antiyanki en gmail.com>:
>
> > diseÑÑÑÑo
> >
> > El 25 de febrero de 2011 13:02, Gonzalo <gonchi.sanchez en gmail.com>
> escribió:
> >>
> >> Hola gente, como les va? Hoy tengo una consulta sobre el disenio del
> >> esquema de clases de mi programa, paso a explicar:
> >> Tengo una ClaseA, y una ClaseB dentro de un mismo file. Tambien una
> >> funcion main que crea un objetoA y un objetoB (de clases A y B
> >> respectivamente). Ahora bien, necesito llamar desde el objetoB a un
> >> metodo de objetoA, es decir, que el objetoA realice un metodo con
> >> argumentos que el objetoB conoce.
> >> La unica forma de hacerlo es aplicando un patron de disenio? (ejemplo
> >> singleton) Si es asi, alguna forma "comoda y linda" para hacerlo?
> >> busque pero las veo demasiado complicadas para mis vagos conocimientos
> >> de python.
> >> Quizas sea muy basico lo que estoy preguntando, es que hace poquito
> >> que migre "en serio" a python, antes hice scripts para nada
> >> complicados y no en objetos.
> >> Bueno, espero no molestarlos, muchas gracias de antemano!
> >>
> >> slds,
> >>
> >> PD: Perdon por la ortografia, tengo un teclado ingles... :P
> >>
> >> --
> >> Gonzalo.
> >> _______________________________________________
> >> pyar mailing list pyar en python.org.ar
> >> http://listas.python.org.ar/listinfo/pyar
> >>
> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> >
> >
> > --
> > "En un país colonial las oligarquías son las dueñas de los diccionarios"
> > (John William Cooke)
> >
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
>
>
>
> --
> Gonzalo.
>
>
--
Gonzalo.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110225/92313aa4/attachment.html>
More information about the pyar
mailing list