Liskov's Substitution Principle

Substitutability is a principle in object-oriented programming stating that, in a computer program, if S is a subtype of T, then objects of type T may be replaced with objects of type S without altering any of the desirable properties of the program.

Let's dive in and simplify this outrageously too complicated definition below!