Stylistic question about inheritance

Andrew Koenig ark at acm.org
Thu Mar 31 15:24:08 EST 2005


""Martin v. Löwis"" <martin at v.loewis.de> wrote in message 
news:424C5B09.9090006 at v.loewis.de...

> You would normally try to avoid type queries, and rely on virtual
> methods instead, if possible.

Of course.

> It seems likely for the application
> that code can be shared across different subclasses, for example,
> you might be able to define
>
> def Expr:
>   def __str__(self):
>     return '%s(%s)' % (self.__class__.__name__,
>                        ", ".join(map(str, self.operands()))
>
> requiring you only to implement .operands() in the subclasses.

Indeed.

> If you can anticipate such common code, it is easier to add
> a base class right away. If you cannot think of a specific
> use case, there is little point in having a common base class.

So, for example, you don't think it's worth including the base class as a 
way of indicating future intent?





More information about the Python-list mailing list