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