[python] Záměna funkce v instanci objektu

azurIt azurit na pobox.sk
Úterý Duben 20 01:28:28 CEST 2010


V pripade, ze ta nova funkcia bude vzdy rovnaka, tak sa toto riesi proste dedenim:

class tridaA:
  def b(self, x):
    self.x = x


class tridaA2(tridaA):
  def b(self, x):
    self.x = x + 1


a=tridaA2()



>-----Pôvodná správa-----
>Od: 302302 [mailto:302302 na centrum.cz]
>Komu: python <python na py.cz>
>Predmet: [python] Záměna funkce v instanci objektu
>
>
>
>Mám nadefinovanou třídu
>
>class tridaA():
>def b(self,x):
>self.x=x
>
>vytvořím její instanci
>
>a=tridaA()
>
>místo metody b, ale chci, aby se vždy v tomto objektu zavolala funkce c, která je nadefinována někde mimo:
>
>def c(self, x):
>self.x = x+1
>
>Pokud to ale pouze přiřadím a zavolám
>
>a.b=c
>a.b(1)
>
>tak se do parametru self automaticky nepřiřazuje daný objekt a.
>
>Jak můžu zaměnit funkce ve vytvořené instanci objektu, aby se to chovalo jako běžná metoda?
>
>Czenek
>_______________________________________________
>Python mailing list
>Python na py.cz
>http://www.py.cz/mailman/listinfo/python


Další informace o konferenci Python