[python] class a subclass

Roman Miklos RMiklos na pss.sk
Pátek Listopad 10 15:38:13 CET 2006


1)Mozes premenovat prn v triede dietata, t.j. v b napr. na prnb, to 
znamena neprekryvat prn() v a:

class a:
    def prn(self):
        print 'a',self
    def ma(self):
        self.prn()

class b(a):
    def prnb(self):
        print 'b',self
    def ma(self):
        '''prekryje a.ma()'''
        a.ma(self)

x=b()
x.ma()

2) Alebo ak potrebujes v prn() objektu b nieco z prn() objektu a mozes ju 
najprv zavolat a potom tam este nieco dodat:
class a:
    def prn(self):
        print 'a',self
    def ma(self):
        self.prn()

class b(a):
    def prn(self):
        a.prn(self)
        print 'b',self
    def ma(self):
        '''prekryje a.ma()'''
        a.ma(self)

x=b()
x.ma() 




mtip <mtip na atlas.cz> 
Sent by: python-bounces na py.cz
10.11.2006 14:57
Please respond to
Konference PyCZ <python na py.cz>


To
python na py.cz
cc

Subject
[python] class a subclass






Zdravim vsechny, mam nasledujici problem:
potrebuji prekryt dve metody rodicovske tridy ve tride potomka, kde
metoda v rodici vola prekryvanou metodu rodice. Jenze ta potom vola metodu
potomka. Lze toto chovani nejak ovlivnit bez zasahu do rodice ?
Zde je priklad:
class a:
    def prn(self):
        print 'a',self
    def ma(self):
        self.prn()

class b(a):
    def prn(self):
        print 'b',self
    def ma(self):
        '''prekryje a.ma()'''
        a.ma(self)

x=b()
x.ma()

vysledkem je print z metody b.prn, a ja bych potreboval aby byl a.prn

Diky za pomoc. Mirek.


_______________________________________________
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