>>Proc by mel Python hledat >>nejprve metodu v potomku, kdyz ji volam z rodice ?
RM> ale ty vytvoris instanciu potomka a volas teda metodu potomka takto RM> x=b() RM> x.ma() ME NEJDE O TO x.ma(). JDE O TO: x.ma()- > vola ma() v potomku = OK ma() uvnitr vola rodicovske ma() = OK rodicovske ma() uvnitr vola self.prn() a to se vrati k potomkovi, protoze existuje stejna metoda b.ma() a to je podle me chyba ! tady by mel rodic volat svoje ma(). Mirek. RM> mtip <[EMAIL PROTECTED]> RM> Sent by: [EMAIL PROTECTED] RM> 10.11.2006 17:24 RM> Please respond to RM> Konference PyCZ <python@py.cz> RM> To RM> Konference PyCZ <python@py.cz> RM> cc RM> Subject RM> Re: [python] class a subclass RM> Zkusil jsem super a vysledek je ten samy. RM> class a(object): RM> def prn(self): RM> print 'a',self RM> def ma(self): RM> self.prn() RM> def aa(self): RM> pass RM> class b(a): RM> def prn(self): RM> print 'b',self RM> def ma(self): RM> '''prekryje a.ma()''' RM> super(b,self).ma() RM> def ba(self): RM> pass RM> x=b() RM> x.ma() RM> Zjistil jsem, ze to funguje, jen pokud to zavolam takto: RM> class b(a): RM> def prn(self): RM> print 'b',self RM> def ma(self): RM> '''prekryje a.ma()''' RM> a.ma(a()) RM> def ba(self): RM> pass RM> Coz je samozrejme nesmysl, protoze vytvarim novou instanci a. RM> Tak se mi zda, ze tohle je neprijemna chyba. Proc by mel Python hledat RM> nejprve metodu v potomku, kdyz ji volam z rodice ? RM> Mirek. s>> Použij slovo super. s>> super(a,x).ma() s>> Miloslav Ponkrác RM> _______________________________________________ RM> Python mailing list RM> Python@py.cz RM> http://www.py.cz/mailman/listinfo/python RM> Mgr. Ing. Roman MIKLÓŠ RM> Prvá stavebná sporiteľňa a.s. RM> Bajkalská 30, P. O. Box 48 RM> 829 48 Bratislava 25 RM> Tel.: +421/ 2 / 582 31 174 RM> Fax: +421/ 2 / 582 31 109 RM> _______________________________________________ RM> Python mailing list RM> Python@py.cz RM> http://www.py.cz/mailman/listinfo/python _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python