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:[email protected]]
>Komu: python <[email protected]>
>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
>[email protected]
>http://www.py.cz/mailman/listinfo/python
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python