LSP stwierdza, że klasy powinny być substytucyjne dla ich klas podstawowych, co oznacza, że klasy pochodne i podstawowe powinny być semantycznie równoważne.
Ale czy LSP ma również zastosowanie do klas implementujących interfejs? Innymi słowy, jeśli metoda interfejsu zaimplementowana przez klasę różni się semantycznie od tego, czego spodziewa się użytkownik, czy byłoby to uważane za naruszenie LSP?