Implementation inheritance has its uses. For me, it's mostly about the "template method" pattern - superclass methods using pure-virtual functionality.
Not every IsA relationship should be implemented as subclassing, that's for sure. Java style interfaces are nice in some places, as are Ruby "mixins". Also, some problem space entities shouldn't be objects at all - OO design certainly tries to be everything, but it isn't, and sometimes we actually have to learn new things.
no subject
Not every IsA relationship should be implemented as subclassing, that's for sure. Java style interfaces are nice in some places, as are Ruby "mixins". Also, some problem space entities shouldn't be objects at all - OO design certainly tries to be everything, but it isn't, and sometimes we actually have to learn new things.