JJ presne tak, provedl se pouze __init__() tridy Child. Jestli lze nejak
vyvolat konstruktory vsech trid to nevim, ale urite to nejak jde.
Ale ja bych v podobnem pripade upravil Child takto:
class Child(Base):
    def __init__(self):
        Base.__init__(self)
        Self.x = 1

David

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
> jvotroubek
> Sent: Tuesday, August 19, 2008 2:03 PM
> To: [email protected]
> Subject: [python] Konstruktor tridy, dedicnost
> 
> Ahoj.
> 
> Chtel jsem se zeptat...
> 
> class Base:
>   def __init__(self):
>     self.y = 2
>   #enddef
> #endclass
> 
> class Child(Base):
>   def __init__(self):
>     self.x = 1
>   #enddef
> #endclass
> 
> c = Child()
> print c.x, c.y
> 
> ... a kod vyhodi AttributeError.
> Chapu-li to spravne, tak konstruktor tridy Child zastinil konstruktor
> tridy Base. Znamena to, ze se vzdycky vyvola nejvrchnejsi konstruktor?
> Jde nejak vyvolat konstruktory vsech trid, pres ktere se dedi?
> 
> Diky, Honza

_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem