LSP afferma che le classi dovrebbero essere sostituibili per le loro classi di base, il che significa che le classi derivate e di base dovrebbero essere semanticamente equivalenti.
Ma LSP si applica anche alle classi che implementano un'interfaccia? In altre parole, se un metodo di interfaccia implementato da una classe è semanticamente diverso da ciò che l'utente si aspetta che sia, questo sarebbe considerato una violazione di LSP?