'inheritedAttribute' vs. 'call of superclass'
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. Thanx, Gregor Heine Software Engineer CDC Communications and Design Consultancy GmbH
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
participants (2)
-
Chris Withers -
Gregor Heine