Principio di sostituzione di Liskov

SOLID

Nella programmazione orientata agli oggetti il principio di sostituzione di Liskov (Liskov substitution principle) è una particolare definizione di sottotipo, introdotta da Barbara Liskov e Jeannette Wing nel 1993.

La formulazione sintetica del principio è la seguente:

"Se è una proprietà che si può dimostrare essere valida per oggetti di tipo , allora deve essere valida per oggetti di tipo dove è un sottotipo di ."

Questa nozione di sottotipo è quindi basata sulla nozione di sostituibilità secondo cui, se S è un sottotipo di T, allora oggetti dichiarati in un programma di tipo T possono essere sostituiti con oggetti di tipo S senza alterare la correttezza dei risultati del programma.

Nella metodologia di programmazione chiamata progettazione per contratto (Design by contract), questo principio pone alcuni vincoli sulle modalità con cui i contratti possono interagire con l'ereditarietà:

  • i prerequisiti richiesti ad una superclasse devono essere almeno altrettanto vincolanti di quelli richiesti alle sottoclassi;
  • le postcondizioni e gli invarianti in una sottoclasse devono essere almeno altrettanto vincolanti di quelle delle sue superclassi.

Inoltre il principio non ammette la presenza di eccezioni più ampie nelle sottoclassi.


From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy