overriding methods - two questions
J. Clifford Dyer
jcd at sdf.lonestar.org
Mon Nov 19 09:05:43 EST 2007
On Mon, Nov 19, 2007 at 01:41:46PM +0100, Bruno Desthuilliers wrote regarding Re: overriding methods - two questions:
>
> Steven D'Aprano a ?crit :
> > On Fri, 16 Nov 2007 18:28:59 +0100, Bruno Desthuilliers wrote:
> >
> >>> Question 1:
> >>>
> >>> Given that the user of the API can choose to override foo() or not, how
> >>> can I control the signature that they use?
> >> While technically possible (using inspect.getargspec), trying to make
> >> your code idiot-proof is a lost fight and a pure waste of time.
> >
> >
> > Worse: it's actually counter-productive!
> >
> > The whole idea of being able to subclass a class means that the user
> > should be able to override foo() *including* the signature.
>
> If you see subclassing as subtyping, the signatures should always stay
> fully compatibles.
>
Isn't that more what Zope-type interfaces are for than inheritance? I'm uncertain here, but I'm not persuaded that changing signature is bad.
More information about the Python-list
mailing list