Bohuzel zmenu nazvu metody v potomku chci nechat jako nouzove reseni. Potrebuju prekryt obe metody, protoze po aplikaci potomka nemaji smysl a dokonce jejich pouzitim by doslo k chybe, proto prekryti je idealni zpusob, jak se jich zbavit. Potreboval bych neco jako super u Javy.
Mirek. RM> Realny priklad: RM> class MyGrep1: RM> """ RM> obsahuje metody na vyhladavanie retazcov v suboroch RM> """ RM> ... RM> def usage(self): RM> """ Benutzungshilfe druecken """ RM> usage =\ RM> '\n %s Ver. %s, [rm] %s ([EMAIL PROTECTED])\n'\ RM> % (self.short_progname,self.version,self.creationdate) \ RM> + ' Searching for a list of strings in a list of a files\n\n'\ RM> + ' [python] %s options \n\n'\ RM> % self.progname \ RM> + ' MANDATORY OPTIONS: \n'\ RM> + ' -f <file> | --file <file>\n'\ RM> + ' required argument:\n'\ RM> + ' <file> - file name or list of file names delimited by " RM> ",\n'\ RM> + ' which can contain wildcard characters * and ?\n'\ RM> + ' -s <string> | --string <string>\n'\ RM> + ' required argument:\n'\ RM> + ' <string> - string or list of strings delimited by " "\n'\ RM> + ' OPTIONS:\n'\ RM> + ' -h | --help print this help message\n'\ RM> + ' -d | --dbginfo print some debug informations' RM> print usage RM> ... RM> Metoda usage je vlastne command-line helpovnik ked zadas mygrep -h, alebo RM> mygrep --help RM> Teraz rozsirim funkcionalitu povodneho programu o nejaky novy command line RM> option (-c resp --nocase) a preto musim zmenit aj helpovnik, takze RM> vytvorim novy Class RM> class MyGrep2(MyGrep1): RM> """ RM> rozsirenie triedy MyGrep1 o cmdline-option RM> -c RM> --nocase RM> """ RM> ... RM> def usage(self): RM> """ Benutzungshilfe druecken """ RM> # Urspruengliche Parrent-Methode anrufen RM> MyGrep1.usage(self) RM> # Help-Erweiterung RM> usage =\ RM> ' -c | --nocase ignore case' RM> print usage RM> Takze rozsiril som help tak ze vytlacim stary help + este jeden riadok RM> Roman Miklos <[EMAIL PROTECTED]> RM> Sent by: [EMAIL PROTECTED] RM> 10.11.2006 15:38 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> 1)Mozes premenovat prn v triede dietata, t.j. v b napr. na prnb, to RM> znamena neprekryvat prn() v a: RM> class a: RM> def prn(self): RM> print 'a',self RM> def ma(self): RM> self.prn() RM> class b(a): RM> def prnb(self): RM> print 'b',self RM> def ma(self): RM> '''prekryje a.ma()''' RM> a.ma(self) RM> x=b() RM> x.ma() RM> 2) Alebo ak potrebujes v prn() objektu b nieco z prn() objektu a mozes ju RM> najprv zavolat a potom tam este nieco dodat: _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python