[python] class a subclass
Roman Miklos
RMiklos na pss.sk
Pátek Listopad 10 16:11:32 CET 2006
A nemozes postavit metodu u rodica tak, ze ju celu zavolas v metode
potomka a nieco k nej este pre ptomka dodas,
ako to mam v tom priklade dole?
>Potreboval bych neco jako super u Javy.
No v tom sa zial nevyznam....
mtip <mtip na atlas.cz>
Sent by: python-bounces na py.cz
10.11.2006 16:05
Please respond to
Konference PyCZ <python na py.cz>
To
Konference PyCZ <python na py.cz>
cc
Subject
Re: [python] class a subclass
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 (rmiklos na pss.sk)\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 <RMiklos na pss.sk>
RM> Sent by: python-bounces na py.cz
RM> 10.11.2006 15:38
RM> Please respond to
RM> Konference PyCZ <python na py.cz>
RM> To
RM> Konference PyCZ <python na 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 na py.cz
http://www.py.cz/mailman/listinfo/python
Mgr. Ing. Roman MIKLÓ©
Prvá stavebná sporiteµňa a.s.
Bajkalská 30, P. O. Box 48
829 48 Bratislava 25
Tel.: +421/ 2 / 582 31 174
Fax: +421/ 2 / 582 31 109
Daląí informace o konferenci Python