ლისკოვის ჩანაცვლების პრინციპი (LSP) ამბობს, რომ ქვეტიპის ობიექტები უნდა იყოს ჩანაცვლებული მათი ბაზის ტიპის ნაცვლად პროგრამის სისწორე არ დაირღვეს. თუ კოდი მუშაობს Base-ს შემთხვევაში, ის უნდა მუშაობდეს ყველა Subclass-ის შემთხვევაში — იგივე ქცევითი მოლოდინები, მოულოდნელობის გარეშე.
