According to Peter Coad:
Choose Inheritance when it satisfy all of the following:
1. A subclass represents "Is a special kind of" and not "is a role of"
2. An object of one class never needs to transmute to another class
3. The derived class extends rather than overrides or nullyfies the responsabilities of its base class
4. A subclass does not extend a utility class
5. For a class in the actual Problem Domain, the subclass specializes a role, a transaction or device.
So make up your mind