Home Articles FAQs XREF Games Software Instant Books BBS About FOLDOC RFCs Feedback Sitemap

Liskov substitution principle

You are here: irt.org | FOLDOC | 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].


Nearby terms: LIS « LISA « Liskov, Barbara « Liskov substitution principle » Lisp » LISP 1 » LISP 1.5

FOLDOC, Topics, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, ?, ALL

©2018 Martin Webb