Liskov substitution principle
A superclass should be replaceable with objects of its subclasses without affecting the correctness of the program.
A subclass can stand in for its parent class.
This makes the code more maintanable and scalable.
References
#substitution #typing #subclass #computer_science #programming #principle #class #liskov #type_theory