How about "pure virtual methods"?

Alex Martelli aleaxit at
Fri Dec 24 01:17:11 CET 2004

Mike Meyer <mwm at> wrote:

> Noam Raphael <noamr at> writes:
> > The answer is that a subclass is guaranteed to have the same
> > *interface* as the base class. And that's what matters.
> This is false. For instance:
> class A(object):
>  def method(self, a):
>     print a
> class B(A):
>  def method(self, a, b):
>    print a, b
> B implements a different interface than A. Statically typed OO
> languages either use multi-methods or disallow changing the signature
> of an overridden method.
> A tool to detect such cases would probably be almost as useful as the
> tool you've proposed.

Agreed, and besides, the two tools can usefully be one.  Look at the
inspect module for signature checking helpers...


More information about the Python-list mailing list