Chris Withers wrote:
Shane Hathaway wrote:
Will there be any access to the method/object that is being overridden from inside the one overriding it? Something like:
'self.__class__.my_method("blah")'
Depends on whether the original method comes from a ZClass or product. If so, yes. But if it's a regular object that's marked as replaceable and it's replaced, the original will vanish.
Will it re-appear when the replacement is deleted?
That could be confusing...
No, and I think it's really not confusing, since it's quite a strange and rare thing to set __replaceable__=ObjectManager.REPLACEABLE on a normal instance. :-/ Think of it more like Python instances vs. classes. Setting __replaceable__=REPLACEABLE on a ZClass method is like setting a class attribute in Python, then overriding it in an instance is like setting an instance attribute. If you set __replaceable__=REPLACEABLE on an instance attribute, then replace it, it's like setting "foo.a = bar" then "foo.a = boo". The reference to "bar" disappears without any implicit recovery. Shane