Quantcast
Channel: Comentários sobre: Princípios SOLID: Princípio de Substituição de Liskov (LSP)
Viewing all articles
Browse latest Browse all 25

Por: Robson Castilho

$
0
0

Oi, Stepherson

Desisti de escrever outro artigo. (Fiz umas pequenas mudanças neste para deixá-lo mais claro.)

Respondendo sua dúvida:
O problema, neste caso, é que o código cliente pode supor pela API do `Retangulo` que altura e comprimento são coisas independentes e pode lidar com elas assim (código especifico para quando um for o dobro do outro, por ex). Isso não será verdade caso um objeto `Quadrado` seja passado em tempo de execução, porque, ao “setar” o comprimento, a altura será inadvertidamente setada “por tabela” ficando igual ao comprimento!

Em uma herança correta, não podemos definir uma invariante como essa na classe derivada (invariante = altura e comprimento devem ser iguais!) sendo que isso não é verdade na classe base.

Qualquer dúvida só chamar!


Viewing all articles
Browse latest Browse all 25

Latest Images





Latest Images