Principio di sostituzione di Liskov

Da Wikipedia, l'enciclopedia libera.
Vai a: navigazione, cerca

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

La formulazione sintetica del principio è la seguente:

"Se q(x) è una proprietà che si può dimostrare essere valida per oggetti x di tipo T, allora q(y) deve essere valida per oggetti y di tipo S dove S è un sottotipo di T."

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 nelle sottoclassi.

Strumenti personali
Namespace

Varianti
Azioni
Navigazione
Comunità
Stampa/esporta
Strumenti
Altre lingue