Liskov substitution principle




<programming, theory> (LSP) The principle that object-oriented functions that use pointers or references to a base class must be able to use objects of a derived class without knowing it.

Barbara Liskov first wrote it as follows: If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behaviour of P is unchanged when o1 is substituted for o2 then S is a subtype of T.

A function that violates the LSP uses a reference to a base class and must know about all the derivatives of that base class.

Such a function violates the open/closed principle because it must be modified whenever a new derivative of the base class is created.

[Liskov, B. Data Abstraction and Hierarchy, SIGPLAN Notices. 23(5), May 1988].



< Previous Terms Terms Containing Liskov substitution principle Next Terms >
Lions Book
LIPL
liquid crystal display
LIS
LISA
inheritance
Lisp
*LISP
LISP 1
LISP 1.5
LISP 2