Le Principe de Substitution de Liskov (LSP) stipule que les objets d'un sous-type doivent être substituables à leur type de base sans briser la correction du programme. Si le code fonctionne avec une Base, il doit fonctionner avec n'importe quelle Subclass — mêmes attentes comportementales, aucune surprise.
