Saltar al contenido principal

Liskov Substitution Principle

Principio de sustitución de Liskov

Lo que se busca aquí es algo así como la siguiente propiedad de sustitución: Si para cada objeto o1 de tipo S es un objeto o2 de tipo T tal que para todo programas P definidos en términos de T, el comportamiento de P no cambia cuando o1 es sustituido por o2 entonces S es un subtipo de T.1

Barbara Liskov

En términos simples, si tiene un programa que depende de una clase A y sin modificación de ese programa envías una clase B, por definición B es una subclase de A.

Al desarrollar una aplicación, debe asegurarse de comprender qué es el comportamiento en el que confía y asegúrese de que las subclases que están heredando de la superclase están manteniendo el mismo comportamiento por lo que cumplir con LSP.

Un ejemplo de la violación de este principio es El problema Cuadrado-Rectángulo.


  1. Barbara Liskov. Data Abstraction and Hierarchy, SIGPLAN Notices 23, 1988.