> 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().
Ne, tohle chyba není, to je prostě normální způsob chování objektů. Na to narazíš v každém jazyce. Pokud chceš zajistit, aby rodič volal svoje ma(), musíš zajistit, aby jméno ma nekolidovalo s něčím jiným v potomkovi. Ve většině jazyků se to zajišťuje buď tak, že se použije viditelnost (private, protected, public), nebo se použije nevirtuální metoda, nebo se prostě zakáže překrýt tato metoda potomkem (final). V Pythonu se to řeší torchu nalepovákem, a to tak, že metoda začne dvěma podtržítky. Ale funguje to tak jak má. Miloslav Ponkrác _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
