Liskov Substitution Principle in Object Oriented Design | SOLID Principles