[pyar] Ejecutar un método al finalizar la instanciación

John Rowland Lenton john.lenton en canonical.com
Lun Jul 12 00:16:51 ART 2010


On Sun, Jul 11, 2010 at 08:51:56PM -0300, Juan BC wrote:
> El 11/07/10 20:40, Pablo Ziliani escribió:
> >Juan BC wrote:
> >>hay alguna forma que teniendo unas clases del tipo
> >>
> >>Class A(object):
> >>
> >>def metodo(self):
> >>print "WAWAWA"
> >>
> >>
> >>class B(A): pass
> >>
> >>se puede hacer algo como
> >>
> >>>>> b = B()
> >>WAWAWA
> >>
> >>sin necesidad de definirlo en el constructor de cada subclase?
> >
> >No teniendo *exactamente* eso, pero hay miles de formas de hacer algo
> >parecido, dependiendo de qué sea lo que querés hacer o lo que querés
> >evitar tocar. Por ejemplo:
> >
> El tema es que el metodo init tengo que redefinirlo y bastante... no
> en una jerarquia sino tengo muchas clases derivadas. y quiero que
> sin necesidad de llamar a "metodo" en en el __init__ aun asi se
> ejecute. Es un codigo de comprobacion el que tengo que lanzar.

y por que no llamás a "metodo" desde el __init__ de A? Si A es una
clase concreta, le das una implementación de cortesía (que haga
"pass"); si es abstracta, levantá un NotImplementedError("las
subclases deben pisarme").
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100712/0c9b2f9b/attachment.sig>


More information about the pyar mailing list