Question about subclassing - version 2

Frank Millman frank at chagford.com
Fri Sep 8 11:53:48 CEST 2006


Bruno Desthuilliers wrote:
> Frank Millman wrote:
> > bearophileHUGS at lycos.com wrote:
> >> There aren't abstract classes in Python. They are all
> >> concrete.
> (snip)
> > I use the term 'abstract class' in the abstract sense :-)
> >
> > Say I have three classes where 90% of the attributes and methods are
> > common. It makes sense to create a base class with these attributes and
> > methods, and turn each of the three classes into a subclass which
> > inherits from the base class and overrides the bits that are unique to
> > each one.
> >
> > This is what I call an abstract class. Maybe there is a more correct
> > term.
>
> Depends if instanciating this base class would make any sense.
>

It would not make sense, no.

I have not gone to the trouble of raising NotImplementedError - the
methods that the subclasses *must* override just have a 'pass'
statement. I guess it would be more correct to raise the error, as it
would give me a quicker indication of an error if I happened to omit
one, but in practice I would find out pretty quickly anyway.

Frank




More information about the Python-list mailing list