Liskov substitution principle
The
Liskov substitution principle is one and considered only one definition of
subtype, a kind of
datatype. The name commonly used in the field of object-oriented computer programming for the definition of
subtype introduced by Barbara Liskov and Jeannette Wing in a 1993 paper entitled
Family Values: A Behavioral Notion of Subtyping. It was formulated in
a subsequent paper as follows:
- Let q(x) be a property provable about objects x of type T. Then q(y) should be true for objects y of type S where S is a subtype of T.
Thus, the notion of "subtype" is based on the notion of substitutability; that is, if S is a subtype of T, then objects of type T in a program may be substituted with objects of type S, without altering any of the desirable properties of that program (eg. correctness).
External Links
Citeseer page for the original paper: http://citeseer.nj.nec.com/liskov94family.html