Chapter 9. Inheritance
The relationship between a class and its subclass often starts being simple but gets more complicated over time. A subclass will often depend on its parent more intimately than will a separate class, but it can go too far.
A key challenge is deciding what a class is versus what a class has. A class structure often starts with inheritance and moves to a more compositional style over time.
Smells Covered
Refused Bequest
Inappropriate Intimacy (Subclass Form)
Lazy Class
See also these other smells related to inheritance:
Simulated Inheritance (Switch Statement), Chapter 7
Parallel Inheritance Hierarchies, Chapter 11
Combinatorial Explosion, Chapter 11
Refused Bequest
Symptoms
A class inherits from a parent, but throws an exception instead ...
Get Refactoring Workbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.