How can I call a subclass method from parent class ?
bonono at gmail.com
bonono at gmail.com
Thu Oct 20 07:07:34 EDT 2005
Thanks for the explanation but some how my code fail and since I don't
need multiple inheritance for the moment, I would settle for the not so
clean version.
The documentation of super is not very clear to me too. As seen in my
code, I am using classmethod which may cause some problem.
Steve Holden wrote:
> In point of fact super() is most useful when you *do* have multiple
> inheritance. The classic example is when classes B and C have a common
> supertype A, and then class D is a subclass of both B and C.
>
> Under these circumstances (the so-called "diamond-shaped inheritance
> graph") it can be problematic to ensure that each superclass's methods
> are called exactly once when methods are being extended rather than
> overridden: should a D call B's method, which then calls A's, and if so
> how does a D ensure that C's method gets called without it also calling
> A's method.
>
> Calls to super() are used to effectively place a linearised oredering on
> the superclasses to ansure that the diamond-shaped inheritance pattern
> is correctly handled to give the correct method resolution order.
>
> regards
> Steve
> --
> Steve Holden +44 150 684 7255 +1 800 494 3119
> Holden Web LLC www.holdenweb.com
> PyCon TX 2006 www.python.org/pycon/
More information about the Python-list
mailing list