Guido van Rossum wrote:
> On 4/16/06, Greg Ewing <[EMAIL PROTECTED]> wrote:

> > In the case of __init__
> > methods, most of the time it simply doesn't work,
> > because different __init__ methods rarely have the
> > same signature.
> 
> How does that prevent you from using super()? (Hint: it doesn't. :-)

It's okay as long as you know which __init__ method
the super() is going to call, so you know its signature.
But if you know that, there's no need to use super() --
just call it directly.

The use case for super() is where you have a chain of
methods that are sufficiently compatible that you don't
need to know or care which one you're calling next.
That's not usually the case with __init__ methods.

The other possible reason for using super() is so
you don't have to write the name of the base class
into all your inherited method calls. But that's a
separate issue that would be better addressed by a
different mechanism, rather than conflating the
two in super().

--
Greg
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to