[Zope-dev] 'inheritedAttribute' vs. 'call of superclass'

Chris Withers chrisw@nipltd.com
Tue, 27 Feb 2001 19:15:42 -0000


> I have two Python classes, say A and B, where B subclasses A.
> If I want to call a method in A from an overridden method in B I can
either
> use:
>
> B.inheritedAttribute('method_in_A')(self. *args)
> or:
> A.method_in_A (self, *args)
>
> Can anybody explain me the differences between those two, because the
second
> one seems (at least in the context of Zope Products) not always to work
> properly whereas the first one doesn't look very OO'ish and is (AFAIK) not
a
> Python function but something coming from Zope.

This is an ExtensionClass thing. Method B doesn't play nicely with
ExtensionClass, IIRC, and method A is the way to get around it.

I'm sure if I'm wrong, someone will tell me :-)

cheers,

Chris