Liskov Substitution principle (LSP) states that : Methods that use references to the base classes must be able to use the objects of the derived classes without knowing it