Posting this for a very similar reason to my Cursor Affordance post. I already know what the Substitution Principle is, I just did not know what it was called.

By definition “the principle defines that objects of a superclass shall be replaceable with objects of its subclasses without breaking the application”

Let’s run some examples.

Superclass: Animal

Subclasses: Dog, Cat, Turtle, Moose

Superclass: Projectile

Subclasses: Arrow, Missile, Spear, Bullet

Superclass: DrinkingVessel

Subclasses: Mug, Glass, DrinkingHorn, Beaker

Superclass: Monster

Subclasses: Gobblin, Cyclops, Dragon, Golem