Liskov Substitution Principle
Subtypes must be substitutable for their base types without altering the correctness of the program Methods that use references to base classes must be able to use objects of derived classes without knowing it. If S is a subtype of T, then objects of type T in a program may be replaced with objects of type S without altering any of the…
