Das Liskov-Substitutions-Prinzip (LSP) besagt, dass Objekte eines Subtyps für ihren Basistyp einsetzbar sein müssen, ohne die Korrektheit des Programms zu beeinträchtigen. Wenn Code mit einer Base funktioniert, muss er mit jeder Subclass funktionieren — gleiche Verhaltenserwartungen, keine Überraschungen.
