Liskov substitution principle
The Liskov substitution principle (LSP) is a particular definition of a subtyping relation, called strong behavioral subtyping, that was initially introduced by Barbara Liskov in a 1987 conference keynote address titled Data abstraction and hierarchy. It is based on the concept of "substitutability" – a principle in object-oriented programming stating that an object (such as a class) may be replaced by a sub-object (such as a class that extends the first class) without breaking the program. It is a semantic rather than merely syntactic relation, because it intends to guarantee semantic interoperability of types in a hierarchy, object types in particular. Barbara Liskov and Jeannette Wing described the principle succinctly in a 1994 paper as follows:
Liskov substitution principle - Wikipedia Jump to content From Wikipedia, the free encyclopedia Object-oriented programming principle "Substitutability" redirects here. For the economic principle, see Substitute good . This article includes a list of general references but lacks corresponding inline citations . Please help improve this article by introducing more precise citations. ( October 2018 ) ( Learn how and when to remove this message ) Liskov substitution was introduced by Barbara Liskov . SOLID Principles Single responsibility Open–closed Liskov substitution Interface segregation Depe
Explore this link on the map →related reading
- SOLID Design Principles Explained- Stackifystackify.com
- SOLID Class Design: The Liskov Substitution Principle — Tom Dallingtomdalling.com
- SOLID Design Principles Explained: Building Better Software Architecture | DigitalOceandigitalocean.com
- The Law of Leaky Abstractions – Joel on Softwarejoelonsoftware.com
- Lambda calculus - Wikipediaen.wikipedia.org
- Rise of Worse Is Betterdreamsongs.com
- 14. Polymorphism - CS2030S Programming Methodology IInus-cs2030s.github.io
- Structure and Interpretation of Computer Programsmitp-content-server.mit.edu
- artima - Josh Bloch on Designartima.com
- Lab 1: Simulation I - CS2030S Programming Methodology IInus-cs2030s.github.io
- Inheritance · Crafting Interpreterscraftinginterpreters.com
- Reading 12: Defining ADTs with Interfaces, Generics, Enums, and Functionsweb.mit.edu