Princípios SOLID: Princípio de Substituição de Liskov (LSP)

Olá, povo!

De volta aos princípios SOLID com o terceiro princípio do acrônimo: o Princípio de Substituição de Liskov (Liskov Substitution Principle), ou simplesmente LSP. Recomendo que leiam os 2 posts anteriores da série <aqui> e <aqui>, principalmente o post sobre o OCP, que está diretamente relacionado a este.

Vamos lá então!

DEFINIÇÃO

O Princípio de Substituição de Liskov leva esse nome por ter sido criado por Barbara Liskov, em 1988 (você pensou que algum “liskov” seria substituído é?).

Sua definição mais usada diz que:

“Classes derivadas devem poder ser substituídas por suas classes base”

Que é uma forma mais simples de explicar a definição formal de Liskov:

“Se para cada objeto o1 do tipo S há um objeto o2 do tipo T de forma que, para todos os programas P definidos em termos de T, o comportamento de P é inalterado quando o1 é substituído por o2 então S é um subtipo de T”

Continue lendo »