Subclasses Do Not Redefine Methods

If subclasses do not redefine the methods of their superclass, this can indicate that no abstraction is expressed through inheritance – we are facing pure implementation inheritance. Often a uses relation between classes will turn out to be more effective.

Related smells: Broken Hierarchy


M. Lippert, S. Roock, “Refactoring in Large Software Projects: Performing Complex Restructurings Successfully”. John Wiley and Sons, 2006.

Design Smells


All rights reserved (c) Tushar Sharma 2017-23.