jargon

Architecture & practice·Design, structure and tradeoffs

the subclass needed one method overridden and inherited four others it never wanted and cannot remove.

Composition over inheritance

Preferring to build behaviour by combining objects rather than by extending a base class. Inheritance couples you to everything the parent does now and everything it will do later, and it is a decision you make once at compile time; composition is a decision you can change per instance. The argument comes up whenever a class hierarchy has grown a third level, which is usually where the abstraction that justified the first level stops being true.

Commonly confused with