I might misunderstand the Liskov substitution principle but here's how I would read it:
Replacing an instance of a class with any other class that extends the same parent class should not produce any negative side effects or broken codebase.
In other words:
Classes that share the same interfaces (contracts) should be interchangeable.
This is a condition to polymorphism and therefore a condition to the open-close principle and a way to avoid writing rigid softwares.
It also relates to the Interface Segregation principle as you don't want to bloat your classes with useless contracts that just prevent the interchangeabilility.
I admit the original definition is cryptic to me and not very useful.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I might misunderstand the Liskov substitution principle but here's how I would read it:
In other words:
This is a condition to polymorphism and therefore a condition to the open-close principle and a way to avoid writing rigid softwares.
It also relates to the Interface Segregation principle as you don't want to bloat your classes with useless contracts that just prevent the interchangeabilility.
I admit the original definition is cryptic to me and not very useful.