Extending Methods Vs Delegates
Sybren Stuvel
sybrenUSE at YOURthirdtower.com.imagination
Sun Mar 26 06:18:28 EST 2006
vbgunz enlightened us with:
> I hope I've made some sense with this question. I ultimately wish to
> know just one real thing. Regardless of the name of the second
> example above, what is the purpose of calling a sub class method
> from a super class instance? What is the application to such a
> design?
I've seen this style of programming before, in wxWidgets. The
constructor of a class does various things. This is roughly what
happens:
class wxSomeClass(wxParent):
def __init__(self, *args, **kwargs):
# Do various things
if not self.OnInit():
raise RuntimeError("Initialization failed")
# Do other things that need to be done after custom
# initialization
def OnInit(self):
return True
This makes it easier to simply provide custom initialization, without
having to redo everything in __init__. Calling the superclass'
function is fine if you want to add behaviour before and/or after
calling it. This example however lets you customize behaviour that's
put in the middle of the __init__ function.
> Maybe an example will help?
I hope so :)
Sybren
--
The problem with the world is stupidity. Not saying there should be a
capital punishment for stupidity, but why don't we just take the
safety labels off of everything and let the problem solve itself?
Frank Zappa
More information about the Python-list
mailing list