What is Liskov Substitution Principle?
Dennis Thomas
Objects in a program should be replaceable with instances of their sub types without altering the correctness of that program. That means, the derived classes should only extend the functionality of the base class. Then, we will be able to substitute the object of the parent class with the object of the derived class.