Musim sa pridat k supermanovi, ze ten priklad tata-synek je super. Aj som si ho odlozil :-)
"Petr Přikryl" <[EMAIL PROTECTED]> Sent by: [EMAIL PROTECTED] 10.11.2006 23:50 Please respond to Konference PyCZ <[email protected]> To [email protected] cc Subject Re: [python] class a subclass mtip napsal(a): > RM> Problem je asi niekde v tom, ze v potomku v metode ma() odovzdavas > RM> self t.j. referenciu na instanciu triedy b (potomka) > RM> super(b,self).ma() > > RM> Neviem naco by sa v tej funkcii super() mala davat referencia na potomka, > RM> ked to ma ist do rodica. > RM> Ja som to skusal aj inac ale nejde mi to. Predtym som super() nikdy > RM> nepouzil. Podla mna tam niekde je problem. > > > To je presne ono. Ja to taky tak chapu, jenze lze ziskat neco jako > instanci rodice ? To asi ne, podle me vsechno bezi na jedne instanci a > to self potomka. > Navic sem to zkusil tak, ze misto self tam vytvorim novou instanci > rodice a poslu a uz to funguje, jak ma. Jenze ta nova instance pred > kazdym volanim predka nelze v praxi pouzit. Možná je chyba v tom mentálním obraze rodič-potomek. Instance odvozené třídy je instance potomka. Žádná související instance rodičovské třídy neexistuje. Potomek se chová "úplně jako tata", jenom některé věci dělá trošku jinak. Prober si tohle class tata(object): def huli(self): return 'smoke' def chlasta(self): return 'glgy glgy' def nadava(self): return 'do prdele' def vlastnosti(self): return '%s, %s, %s' % (self.huli(), self.chlasta(), self.nadava()) def __str__(self): return self.vlastnosti() class synek(tata): def chlasta(self): return 'lok lok' def nemysli(self): return 'to sem magor' def vlastnosti(self): # jako tata, trochu jinak, ale navic nemysli return tata.vlastnosti(self) + ', ' + self.nemysli() fotr = tata() print fotr syn = synek() print syn Vypíše to: smoke, glgy glgy, do prdele smoke, lok lok, do prdele, to sem magor pepr _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python Mgr. Ing. Roman MIKLÓŠ Prvá stavebná sporiteľňa a.s. , P. O. Box 48 Tel.: Fax: _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
