Liskov Substitution Principle

E232907

The Liskov Substitution Principle is an object-oriented design rule stating that objects of a superclass should be replaceable with objects of a subclass without altering the correctness of a program.

All labels observed (2)

How this entity was disambiguated

Statements (45)

Predicate Object
instanceOf SOLID principle ⓘ
object-oriented design principle ⓘ
software engineering principle ⓘ
abbreviation LSP ⓘ
aimsTo enable safe reuse of code ⓘ
improve software maintainability ⓘ
improve software robustness ⓘ
appliesTo API design ⓘ
class hierarchies ⓘ
interface implementations ⓘ
author Barbara Liskov ⓘ
Jeannette Wing ⓘ
linked to: Jeannette M. Wing
category program correctness principle ⓘ
software design rule ⓘ
contrastsWith implementation inheritance without behavioral compatibility ⓘ
coreIdea objects of a superclass should be replaceable with objects of a subclass without affecting program correctness ⓘ
emphasizes behavioral compatibility between supertype and subtype ⓘ
what a subtype must guarantee to its clients ⓘ
field object-oriented programming ⓘ
software design ⓘ
focusesOn behavioral subtyping ⓘ
substitutability of types ⓘ
hasConsequence subtypes should not remove expected behavior of supertypes ⓘ
subtypes should not strengthen method argument requirements ⓘ
subtypes should not weaken method result guarantees ⓘ
influenced best practices for inheritance usage ⓘ
modern object-oriented design guidelines ⓘ
introducedBy Barbara Liskov ⓘ
introducedInContextOf behavioral notion of subtyping ⓘ
namedAfter Barbara Liskov ⓘ
partOf SOLID principles ⓘ
publicationYear 1994 ⓘ
relatedTo design by contract ⓘ
inheritance ⓘ
polymorphism ⓘ
type safety ⓘ
requires invariants of a supertype must be preserved by its subtype ⓘ
postconditions of a subtype must be at least as strong as those of its supertype ⓘ
preconditions of a subtype must not be stronger than those of its supertype ⓘ
subclasses must honor the contracts of their superclasses ⓘ
statedIn A Behavioral Notion of Subtyping ⓘ
usedIn object-oriented programming languages ⓘ
software architecture design ⓘ
violationsCause broken polymorphic behavior ⓘ
unexpected runtime errors ⓘ

How these facts were elicited

Referenced by (9)

Full triples — surface form annotated when it differs from this entity's canonical label.

Barbara Liskov → notableWork → Liskov substitution principle ⓘ
linked to: Liskov Substitution Principle
Barbara Liskov → knownFor → Liskov substitution principle ⓘ
linked to: Liskov Substitution Principle
Single Responsibility Principle → relatedTo → Liskov Substitution Principle ⓘ
Open-Closed Principle → relatedTo → Liskov Substitution Principle ⓘ
SOLID principles → consistsOf → Liskov Substitution Principle ⓘ
A Behavioral Notion of Subtyping → introduces → Liskov Substitution Principle ⓘ
A Behavioral Notion of Subtyping → relatedTo → Liskov substitution principle ⓘ
linked to: Liskov Substitution Principle
A Behavioral Notion of Subtyping → hasNamedPrinciple → Liskov Substitution Principle ⓘ