L Liskov Substitution Principle LSP · TL;DR

1 min read
Mid-level2 min read
Rapid overview

TL;DR

LSP says any implementation of an interface must be usable wherever the interface is expected, without surprises. Throwing "not supported" from a method you were forced to declare is the classic violation — it pushes type-shaped runtime bugs onto every caller and defeats the point of polymorphism.

See also