

That requires the objects of your subclasses to behave in the same way as the objects of your superclass. The principle defines that objects of a superclass shall be replaceable with objects of its subclasses without breaking the application. So, what does it mean for our code? The Liskov Substitution Principle in practical software development Such a scientific definition might be necessary, but it doesn’t help a lot in our daily work as software developers. Then Φ(y) should be true for objects y of type S where S is a subtype of T. Let Φ(x) be a property provable about objects x of type T. A few years later, she published a paper with Jeanette Wing in which they defined the principle as: The Liskov Substitution principle was introduced by Barbara Liskov in her conference keynote “Data abstraction” in 1987. Definition of the Liskov Substitution Principle
